我们可以使用pandas库的groupby方法和agg方法来实现按照列分组并创建其他列的列表。代码示例如下:
import pandas as pd
# 创建示例数据
data = {'fruit': ['apple', 'banana', 'orange', 'apple', 'banana'],
'color': ['red', 'yellow', 'orange', 'green', 'yellow'],
'quantity': [3, 2, 5, 1, 4]}
df = pd.DataFrame(data)
# 按fruit列分组并创建其他列的列表,保持顺序
result = df.groupby('fruit').agg({'color': lambda x: list(x), 'quantity': lambda x: list(x)})
print(result)
运行结果如下:
color quantity
fruit
apple [red, green] [3, 1]
banana [yellow, yellow] [2, 4]
orange [orange] [5]
可以看到,按照fruit列分组,其他列的值都被转换成了列表,并且顺序被保持了下来。