Pandas python通过另一个列值从列表列中随机选择值

问题描述 投票:0回答:1

我有一个数据框,其中一列具有列表值,而另一列仅具有列表中的一项。我想通过列id中的条件从列canceled中选择值,然后使用所选值创建另一列C

code    canceled  id
11AS    [1.0]     [107385, 128281, 133015]
22AS    [0.0]     [108664, 110515, 113556]
3ROOD   [1.0]     [134798, 133499, 125396, 114298, 133915]
44AS    [0.0]     [107611]
66AS    [5.0]     [113472, 115236, 108586, 128043, 114106, 10796...
66W     [44.0]    [107650, 128014, 127763, 118036, 116247, 12802.

我试图遍历并切片,但无法获得想要的东西。说px是我的DataFrame。

  for i in px['canceled']:
     print(px['id'].str.slice(stop=int(i[0])))
python pandas list slice
1个回答
0
投票

看起来像i)您的列canceled包含索引,而ii)您想使用这些索引来获取每个id中的相应值。如果是这样,那么如何使用apply,如下所示

apply

返回]

px['C'] = px.apply(
    lambda datum : datum.id[int(datum.canceled[0])],
    axis = 1
)
© www.soinside.com 2019 - 2024. All rights reserved.