-3 python merge mean dataframe pandas
我有像这样的pandas datframe.
a1 a2 b1 b2
0 1 2 2 5
1 3 4 5 4
2 6 7 8 3
3 7 7 7 1
Run Code Online (Sandbox Code Playgroud)
我想取a1和a2,b1和b2的意思,并用a和b替换它.结果应如下:
a b
0 1.5 3.5
1 3.5 4.5
2 6.5 5.5
3 7 4
Run Code Online (Sandbox Code Playgroud)
print (df.columns.str[0])
Index(['a', 'a', 'b', 'b'], dtype='object')
df = df.groupby([df.columns.str[0]], axis=1).mean()
print (df)
a b
0 1.5 3.5
1 3.5 4.5
2 6.5 5.5
3 7.0 4.0
Run Code Online (Sandbox Code Playgroud)
创造另一种解决方案Series
的groupby
是extract
通过正则表达式:
print (df.columns.str.extract("([a-zA-Z])", expand=False))
Index(['a', 'a', 'b', 'b'], dtype='object')
df = df.groupby([df.columns.str.extract("([a-zA-Z])", expand=False)], axis=1).mean()
print (df)
a b
0 1.5 3.5
1 3.5 4.5
2 6.5 5.5
3 7.0 4.0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
59 次 |
最近记录: |