玩我的 Apple Health Data,但 csv 比我遇到的更难处理

Playing with my Apple Health Data but the csv is harder to wrangle than I have encountered

我的 pandas 数据框显示为:

                                      BURNED CALORIES      
Date     00 - 01 01 - 02 02 - 03 .... 23 - 24
1/13/19  17.6    11.53   3.24         28.6
1/14/19  1.5     1.46    2.41         27.44

第一行是每小时细分,但唯一的一列是 23-24 小时消耗的卡路里列。我觉得好像我需要旋转它但我不能将 Date 列作为实际列。有什么建议么?理想情况下,我想创建一个时间序列并使用每小时数据。

这是我想要达到的目标:

日期小时消耗的卡路里

谢谢!!

DataFrame

IIUC,这是您要找的吗?

df2=df.melt(id_vars='Date', var_name='variable')
df2.rename(columns={'variable':'hours', 'value':'calories burned'}, inplace=True)
df2
    Date    hours   calories burned
0   1/13/19 00-01   17.6
1   1/14/19 00-01   1.5
2   1/13/19 01-02   11.53
3   1/14/19 01-02   1.46
4   1/13/19 02-03   3.24
5   1/14/19 02-03   2.41
6   1/13/19 23-24   28.6
7   1/14/19 23-24   27.44

所以,我必须将 header 设置为 1

然后 运行 熔化操作成功了。再次感谢!

现在将我的 23 - 24 转换为小时,但我想我将按分隔符拆分然后转换为时间。

'''df2=burnedcalories2018.melt(id_vars='Date', var_name='variable') df2.rename(列={'variable':'hours', 'value':'calories burned'}, inplace=True) df2['Date'] = pd.to_datetime(df2['Date']) df2.sort_values(by='Date', ascending=False)'''