我有一个大熊猫数据框,我正在尝试使用.loc
工具从中选择一些行。问题是我要在其中使用的条件需要一个索引,该索引在数据框的某一列中给出(“索引”为1)。如果该值低于我需要通过简单列表中的索引找到的值,我会尝试选择该行。
>>> df
r v index
1 2 2
2 4 3
3 20 1
>>> list
[3,6,32]
我想要类似的东西
df.loc[ df['v'] < list[ df['index'] ] ]
因此,它指的是数据帧所研究行中的索引。
答案 0 :(得分:1)
IIUC,将列表转换为数组,并使用“ index”作为索引器:
v = np.array([3,6,32])
df[df['v'] < v[df['index'] - 1]]
r v index
0 1 2 2
1 2 4 3
在哪里
v[df['index'] - 1]
# array([ 6, 32, 3])
r = df.loc[df['v'] < v[df['index'] - 1]].copy()