【发布时间】:2020-11-03 03:42:50
【问题描述】:
我有多个 CSV 文件,其中包含各种患者特征和小时测量值,代表记录此测量值的时间,如下所示
file 1
Subject_id hour_measure label valuenum
23 1 heart_rate 45
23 2 respiratory_rate 21
24 1 heart_rate 40
24 2 respiratory_rate 22
file 2
Subject_id hour_measure label valuenum
23 1 Temperature 20
23 2 Blood_pressure 130
24 1 Temperature 29
24 2 Blood_pressure 50
我想将两个文件连接起来如下
Subject_id hour_measure heart rate respiratory_rate Blood pressure temperature
23 1 45 21 130 30
24 1 40 22 50 29
我使用以下代码
df= pd.read_csv('data.csv',low_memory=False, error_bad_lines = False)
#df.dtypes
# reshape when columns are only number
df1 = df.pivot_table(index=[hour_measure','subject_id'],
columns=['label'],values=['valuenum'])
with open('test.csv', 'a',newline='') as f:
df1.to_csv(f, header=True)
但不幸的是,它按如下方式创建文件
label valuenum valuenum
Subject_id hour_measure heart_rate Respiratory_rate
23 1 45 21
24 2 40 22
label valuenum valuenum
Subject_id hour_measure Blood_pressure Temprature
23 1 130 20
24 2 50 29
所以请 id 任何人都可以帮助我如何解决这个问题 任何帮助将不胜感激
【问题讨论】:
-
你能检查/编辑你想要的结果吗?其中的数字似乎无法追溯到样本数据。此外,“hour_measure”是表示不同时间还是在特定时间进行的测量的数字索引?具体来说,当原始数据中仅报告 1 次时,不清楚如何在结果数据中为每个受试者提供 2 次“heart_rate”测量值。
-
是的,你是对的。我写这些数字只是为了表达我的想法.. 重新评分为 hour_measure,它表示已经进行了测量
-
仍然不清楚或不一致。您如何获得受试者 23 的两次心率测量值?
-
请看清楚,我更正了数字以使其一致
标签: python-3.x pandas python-2.7 scikit-learn