1.读取文件
导入函数包import pandas as pd
读取.csv文件:
data = pd.read_csv("文件路径")
data = pd.read_csv("文件路径",index_col=0),这里的index_col=0是以第一列为索引,便于后续针对该列进行操作,例如
scp = pd.read_csv(r'文件路径',index_col=0)
if key in scp.index:
conclution['scp_statements'].append(scp.loc[key].to_dict())
# 这里是对符合条件的key提取index_col为某值的这一行的数值,并转为字典的形式。
2.Pandas改变某列符合条件的数值,loc函数
data.loc[data["列名"].isin([0],'列名')] = 1
即将data文件中名为“列名”的列中为0的数值全改为数值1,该方法也可用于非数值的字符串等。
3.Pandas改变列名
data.rename(columns={'sex':'gender','Age':'age'},inplace=True)
即将data文件中原列名为'sex'和'Age'改为'gender'和'age'
4.Pandas添加新列
a = [1,2,3,4,5,6]
data['A'] = a
即对data文件新创建了一列,列名为'A',该列的内容为列表a
5.Pandas对列名排序
order = ['subject_id','age','height','weight','gender']
data = data[order]
即对data文件的列按照order中字符串的顺序进行排序
6.Pandas保存文件
data.to_csv(r'保存文件的路径',index=True,index_label='data_id')
index=True即保存文件时在第一列生成序号,若不想要可以改为False;index_label='data_id'即把生成序号的那一列列名名为'data_id'
7.Pandas将某几列保存为字典的格式
columns_to_dict = [
'heart_axis',
'infarction_stadium1',
'infarction_stadium2',
'baseline_drift']
# 创建一个新列 'measurement' 存储字典形式的数据
data['measurement'] = data[columns_to_dict].apply(lambda row: row.dropna().to_dict(), axis=1)
# print(ptbxl['measurement'])
8.Pandas统计文件中某列类别的个数
先读取文件,再输入以下函数
data = pd.read_csv(r'文件路径')
print(data['patient_id'].value_counts())
即打印出了data文件中patient_id列中各个类别出现的个数
若想保存上述数据,则输入
value_counts_df = data['patient_id'].value_counts().reset_index()
value_counts_df.columns = ['patient_id', 'count']
# 将DataFrame保存为CSV文件
value_counts_df.to_csv('patient_id_counts.csv', index=False)
value_counts()的值就是patient_id的计数,索引是patient_id的唯一值;reset_index()将索引转换为一列;columns
给两列命名,分别是patient_id
和count;
使用to_csv()方法将DataFrame保存为CSV文件,index=False
表示不保存DataFrame的索引到CSV文件中
未完待续。。。