为了账号安全,请及时绑定邮箱和手机立即绑定

Python - 尝试存储列表数组时陷入循环

Python - 尝试存储列表数组时陷入循环

慕桂英3389331 2021-07-21 17:05:26
我正在遍历数据框并尝试存储每个 id 的“总”列表。数据框如下所示:id    total    difference 1     29         3 1     21         2 2     39         0 2     22         9到目前为止我尝试过的:total_list=[]for i, row in df.iterrows():     total_list.extend(df.total.loc[df.id==row.id].tolist())print(total_list) # this never gets printtotal_list 应该看起来像 [[29, 21], [39,22]]
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

只要我理解正确,就可以在不循环的情况下完成此操作。 我假设输出中的 31 应该是 21。


设置


>>> df = pd.DataFrame([[1,29,3],[1,21,2],[2,39,0],[2,22,9]], columns=['id', 'total','difference'])

>>>

>>> df

   id  total  difference

0   1     29           3

1   1     21           2

2   2     39           0

3   2     22           9

解决方案


>>> df.groupby('id')['total'].apply(list).tolist()

[[29, 21], [39, 22]]


查看完整回答
反对 回复 2021-07-21
  • 1 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信