可以通过以下步骤实现:
下面是一个示例代码:
import pandas as pd
import numpy as np
# 创建一个示例DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick'],
'Age': [20, 25, 30, 35, 40],
'Salary': [5000, 6000, 7000, 8000, 9000]}
df = pd.DataFrame(data)
# 使用group by键将列转换为数组
result = df.groupby('Name').agg({'Age': lambda x: np.array(x), 'Salary': lambda x: np.array(x)})
# 输出结果
print(result)
输出结果为:
Age Salary
Name
John [30] [7000]
Nick [25, 40] [6000, 9000]
Tom [20, 35] [5000, 8000]
在这个示例中,我们使用groupby('Name')
对DataFrame按照姓名进行分组。然后,使用agg({'Age': lambda x: np.array(x), 'Salary': lambda x: np.array(x)})
对每个分组的年龄和工资列进行转换为数组的操作。最后,将转换后的结果存储在一个新的DataFrame中。
这种方法适用于将任意列转换为数组,并且可以根据具体需求进行定制化处理。
领取专属 10元无门槛券
手把手带您无忧上云