【问题标题】:Date in a column as index列中的日期作为索引
【发布时间】:2020-11-21 21:09:51
【问题描述】:
我使用 groupby 来计算一年中的每一天的平均值,但我得到了一个包含两列 (TIME) 作为索引的数据框,第一列用一个数字表示月份,第二个表示一天,我想得到一列作为带有月份和日期的索引:
TIME TIME A B
1 1 3 4
2 4 5
3 2 1
输出:
TIME A B
01-1 3 4
01-2 4 5
01-3 2 1
【问题讨论】:
标签:
pandas
dataframe
date
indexing
【解决方案1】:
由于索引有两个 TIME 列,当 reset_index 、 renaming 解决问题时会引发错误
In [41]: dfs
Out[41]:
A B
TIME TIME
1 1 3 4
2 4 5
3 2 1
In [42]: dfs.index.names = ['M','TIME']
In [43]: df=dfs.reset_index()
In [44]: df['TIME'] = df['M'].astype(str) + "-" + df['TIME'].astype(str)
In [45]: df[['TIME','A','B']]
Out[45]:
TIME A B
0 1-1 3 4
1 1-2 4 5
2 1-3 2 1