pandas如何按某列唯一值分组将另一列值聚合为数组
实现方法
直接使用groupby配合聚合函数即可完成需求,不需要额外复杂逻辑。
完整代码
import pandas as pd # 原始DataFrame df = pd.DataFrame({'trial_time': ['0', '0', '1', '1'], 'Max Speed': [1., 2, 3, 4]}) # 按trial_time分组,将同组Max Speed归集为列表 res = df.groupby('trial_time', as_index=False)['Max Speed'].agg(list)
输出结果
运行后打印res得到的结果完全匹配预期对应关系:
trial_time Max Speed 0 0 [1.0, 2] 1 1 [3.0, 4]
如果需要归集为numpy数组而非Python原生列表,将聚合参数替换为numpy.array即可:
import numpy as np res_np = df.groupby('trial_time', as_index=False)['Max Speed'].agg(np.array)
内容的提问来源于stack exchange,提问作者Joan
相关产品推荐
相关产品推荐

