如何使用ligne索引使用loc选择熊猫数据框行?

时间:2019-01-03 14:59:04

标签: python-3.x pandas dataframe

我有一个大熊猫数据框,我正在尝试使用.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'] ] ]

因此,它指的是数据帧所研究行中的索引。

1 个答案:

答案 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()