要按列(ID)重复地旋转数据框,可以使用pivot
函数来实现。下面是一个包含代码示例的解决方法:
import pandas as pd
# 创建示例数据框
data = {
'ID': ['A', 'A', 'A', 'B', 'B', 'C', 'C'],
'Category': ['X', 'Y', 'Z', 'X', 'Y', 'X', 'Z'],
'Value': [1, 2, 3, 4, 5, 6, 7]
}
df = pd.DataFrame(data)
# 使用pivot函数进行旋转
df_pivot = df.pivot(index='ID', columns='Category', values='Value')
# 打印结果
print(df_pivot)
输出结果为:
Category X Y Z
ID
A 1.0 2.0 3.0
B 4.0 5.0 NaN
C 6.0 NaN 7.0
在这个示例中,我们首先创建了一个包含ID、Category和Value列的数据字典。然后,我们使用pd.DataFrame()
函数将数据字典转换为数据框。接下来,我们使用pivot()
函数来旋转数据框,其中index
参数指定要保留的列,columns
参数指定要旋转的列,values
参数指定要填充的值。最后,我们打印旋转后的结果。
请注意,旋转后的结果是一个新的数据框,其中每个唯一的ID值都成为新数据框的索引,每个唯一的Category值都成为新数据框的列。如果有多个重复的ID和Category组合,pivot
函数将使用默认的聚合函数(均值)来处理重复的值。如果需要使用其他聚合函数,可以通过aggfunc
参数来指定。