【发布时间】:2021-01-10 21:33:25
【问题描述】:
我有一堆多索引pd.DataFrames,其中包含特定日期在一组地面站进行的天气观测统计数据。这是一个这样的数据框的结构:
>>> df = pd.DataFrame({'month': [1, 1, 1, 1, 1, 1],
'day': [2]*6,
'station': ['A', 'B', 'C', 'D', 'E', 'F'],
'mean': [55, 40, 84, 31, 44, 12],
'sd': [1., 2., 1.2, 3., 4., 0.7]})
>>> df.set_index(['station', 'month', 'day'])
>>> df
>>> df = df.set_index(['station', 'month', 'day'])
>>> df
mean sd
station month day
A 1 2 55 1.0
B 1 2 40 2.0
C 1 2 84 1.2
D 1 2 31 3.0
E 1 2 44 4.0
F 1 2 12 0.7
df 存储 2 月 1 的所有观察值(例如,1 月 2 日)。每个数据帧的站索引都是唯一的(没有两个站 ID 相同)。但是,根据月份和/或日期,站集可能会因各个数据帧而异。
问题:如何将这些数据帧组合成一个具有以下结构的单个数据帧(忽略确切的mean 和sd 值,我已经那些):
>>> df
mean sd
station month day
A 1 1 55 1.0
2 44 5.0
3 34 1.2
(...)
2 1 55 1.0
2 44 5.0
3 34 1.2
(...)
B 1 1 31 3.0
2 44 5.0
3 34 1.2
(...)
【问题讨论】: