【发布时间】:2020-06-24 14:59:48
【问题描述】:
我有一个看起来像这样的 df:
var1 var2 var3
0 a 1
0 b 7
0 c 5
0 d 4
0 z 8
1 t 9
1 a 2
2 p 3
.. .. ..
60 c 3
我正在尝试从 var2 创建与 var1 中的给定值相对应的每组值的列表。所以,结果应该是这样的:
list_0: a, b, c, d, z
list_1: t, a
list_2: p
list_60: c
我想要的行为是我能够执行print(list_0) 并返回与var1 == 0 关联的var2 的值。
目前我正在尝试制定一个循环来执行此操作,例如:
for i in range(df['var1'].max()):
list['list_'+str(i)] = []
stops_i.append(x for x in df['var2'])
虽然列表似乎不是在这里迭代创建的。也许有更好的方法来实现我的目标?
我也尝试过按照另一篇 SO 帖子中的建议使用 groupby,尽管这会返回一个 groupby 对象,然后我需要将其进一步分解为单独的列表,并且不会以我想要的方式运行。
【问题讨论】:
-
你昨天问过同样的问题吗?
-
@QuangHoang 唯一的答案没有解决我对单独列表的需求,并且问题已通过反馈关闭,如果我对答案不满意,请再次询问。我不满意,所以在这里我再次询问更多细节/更新。
-
separate list是什么意思?您不想坐下来标记 60 个单独的列表变量吗? -
我绝对不想手动标记它们,因此我尝试使用
list['list_'+str(i)] = []自动标记 -
查看 Chris 对另一个问题的更新。我会认为这是另一个的副本。
标签: python python-3.x pandas loops