玩我的 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)'''
我的 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)'''