gpt4 book ai didi

pandas - 以正确的顺序按列展平分组

转载 作者:行者123 更新时间:2023-12-03 18:36:10 25 4
gpt4 key购买 nike

import pandas as pd
import numpy as np
df=pd.DataFrame({"item":['a','a','a','b'],"item1":['b','d',np.nan,'c']})
df_grp=df.groupby("item").agg({'item1' : ['last','count']})
df_grp.columns = df_grp.columns.map('_'.join)
df_grp.reset_index()
这给了我
  item item1_last  item1_count
0 a d 2
1 b c 1
我想要的是
  item last_item1  count_item1
0 a d 2
1 b c 1
有没有更好的方法来实现这一目标?

最佳答案

您可以在加入列之前使用 swaplevel

df_grp.columns = df_grp.columns.swaplevel().map('_'.join)
#df_grp.columns = df_grp.swaplevel(axis=1).columns.map('_'.join)
df_grp.columns = df_grp.columns.swaplevel().map('_'.join)
print(df_grp.reset_index())

item last_item1 count_item1
0 a d 2
1 b c 1

关于pandas - 以正确的顺序按列展平分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66709741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com