在具有多级列的 pandas 数据框中透视 table
Pivot table in pandas dataframe with multi level columns
我有一个 pandas 数据框 df
如下所示:
node date_ A1 A2 Month
bkt B1 B2
0 1/1/2015 0.98 1
1 1/2/2015 0.71 0.96 1
2 1/3/2015 0.98 1
3 2/4/2015 0.34 2
4 2/2/1900 0.96 1.57 2
5 2/6/2015 0.01 0.03 2
6 3/7/2015 0.30 0.25 3
我正在尝试按月份对每一列进行分组以获得以下平均值:
Month A1 A2
B1 B2
1 0.89 0.96
2 0.44 0.80
3 0.30 0.25
其中
0.89 = avreage(0.98, 0.71, 0.98)
0.80 = average(1.57, 0.03)
我想按 (A1, B1) 和 (A2, B2) 对每个月进行分组以获得平均值。我不确定如何进行这种多级分组。
编辑:
df.columns
MultiIndex([( 'date_', ''),
( 'A1', 'B1'),
( 'A2', 'B2'),
( 'Month', '')],
names=['node', 'bkt'])
IIUC:
df['date_'] = pd.to_datetime(df['date_'])
df.drop(('Month',''), axis=1).groupby(df['date_'].dt.month).mean()
输出:
node A1 A2
bkt B1 B2
date_
1 0.890000 0.986667
2 0.436667 1.200000
3 0.300000 0.250000
我有一个 pandas 数据框 df
如下所示:
node date_ A1 A2 Month
bkt B1 B2
0 1/1/2015 0.98 1
1 1/2/2015 0.71 0.96 1
2 1/3/2015 0.98 1
3 2/4/2015 0.34 2
4 2/2/1900 0.96 1.57 2
5 2/6/2015 0.01 0.03 2
6 3/7/2015 0.30 0.25 3
我正在尝试按月份对每一列进行分组以获得以下平均值:
Month A1 A2
B1 B2
1 0.89 0.96
2 0.44 0.80
3 0.30 0.25
其中
0.89 = avreage(0.98, 0.71, 0.98)
0.80 = average(1.57, 0.03)
我想按 (A1, B1) 和 (A2, B2) 对每个月进行分组以获得平均值。我不确定如何进行这种多级分组。
编辑:
df.columns
MultiIndex([( 'date_', ''),
( 'A1', 'B1'),
( 'A2', 'B2'),
( 'Month', '')],
names=['node', 'bkt'])
IIUC:
df['date_'] = pd.to_datetime(df['date_'])
df.drop(('Month',''), axis=1).groupby(df['date_'].dt.month).mean()
输出:
node A1 A2
bkt B1 B2
date_
1 0.890000 0.986667
2 0.436667 1.200000
3 0.300000 0.250000