假设有如下数据框:
import pandas as pd
data = {'person': ['Alice', 'Alice', 'Bob', 'Bob', 'Charlie', 'Charlie'],
'type': ['A', 'B', 'A', 'B', 'A', 'B'],
'score': [13, 42, 18, 20, 7, 35]}
df = pd.DataFrame(data)
print(df)
输出:
person type score
0 Alice A 13
1 Alice B 42
2 Bob A 18
3 Bob B 20
4 Charlie A 7
5 Charlie B 35
想要按照 "person" 进行分组,并为每个 "type" 创建一个单独的列,将上述数据框进行改造:
new_df = df.pivot(index='person', columns='type', values='score').reset_index()
print(new_df)
输出:
type person A B
0 Alice 13 42
1 Bob 18 20
2 Charlie 7 35
这里的关键方法是pivot,它将数据转换为具有新形状的规整形式。index参数是新数据框的索引字段,columns参数是新数据框的列字段,values参数指定所需的值字段。reset_index()用于重置索引并返回新数据框。
上一篇:按键分组并使用自定义标准进行聚合
下一篇:按键分组的两个元组列表的值求和