求助:如何用groupby编辑Pandas DataFrame,实现指定格式转换
如何将Pandas DataFrame转换为宽表格式?
你可以直接使用Pandas的pivot()方法实现这个转换,这是处理此类行列转置需求的最优方案,不需要复杂的groupby操作。
代码示例
首先构造原始DataFrame:
import pandas as pd df = pd.DataFrame({ 'Date': ['10/1/2022', '10/1/2022', '10/1/2022', '10/2/2022', '10/2/2022', '10/2/2022'], 'Name': ['Mike', 'Jen', 'Carol', 'Mike', 'Jen', 'Carol'], 'Count': [10, 15, 25, 7, 13, 30] })
执行pivot转换:
wide_df = df.pivot(index='Name', columns='Date', values='Count') print(wide_df)
输出结果
Date 10/1/2022 10/2/2022 Name Mike 10 7 Jen 15 13 Carol 25 30
补充说明
如果数据中存在同一Name和Date对应多个Count值的情况,可以用pivot_table()指定聚合函数处理:
wide_df = df.pivot_table(index='Name', columns='Date', values='Count', aggfunc='sum')
内容的提问来源于stack exchange,提问作者Mike L
相关产品推荐
相关产品推荐

