我有一个像这样的 pandas 数据框,
dd = pd.DataFrame(
{'name': ['abc','bcd','abc'],
'seconds': [75,77,90],
})
我需要将秒列合并到具有相同名称的行的单个列表中。
我可以使用 for 循环来做到这一点,
names= list(set(dd['name']))
counter=[]
for a in names:
counter.append(list(dd[dd['name'] == a]['seconds']))
end
seconds_list = pd.DataFrame(
{'name': names,
'seconds': counter,
})
输出:
但这在大数据帧上需要花费大量时间。有没有简单的方法可以在不使用 for 循环的情况下实现此目的?
谢谢!
最佳答案
df = dd.groupby('name')['seconds'].apply(list).reset_index()
print (df)
name seconds
0 abc [75, 90]
1 bcd [77]
关于python - Pandas 数据框分组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46077180/