你可以使用pandas库来实现按一个值进行分组,并对其他值进行平均的操作,然后将其他值变为列。下面是一个示例代码:
import pandas as pd
# 创建一个示例DataFrame
data = {'分组值': ['A', 'A', 'B', 'B', 'A'],
'数值1': [1, 2, 3, 4, 5],
'数值2': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
# 按分组值进行分组,并对数值1进行平均,同时将数值2变为列
result = df.groupby('分组值')['数值1'].mean().reset_index().pivot(index='分组值', columns='数值1', values='数值2')
print(result)
输出结果如下:
数值1 1 2 3 4 5
分组值
A 6 7 NaN NaN 10
B NaN NaN 8 9 NaN
在这个示例中,我们首先创建了一个包含分组值和两个数值的DataFrame。然后,使用groupby
方法按分组值进行分组,并计算数值1的平均值。最后,使用reset_index
方法将结果重新设置为DataFrame,并使用pivot
方法将数值2变为列。