如果它在列表中,则在熊猫中按索引选择多行

ale*_*lex 4 indexing pandas

类似于在 pandas 中按索引选择多个行,我有大数据框,并且有一些我有兴趣查看的索引。

我有:

import pandas as pd 
df = pd.DataFrame({'A':[0,1,2,3,4,5,6,7,8,9],'B':['a','b','c','d','e','f','g','h','i','j']},
                  index=range(10,20,))
Run Code Online (Sandbox Code Playgroud)

我想看到的索引很少, list=[12,15,10,14]

所以我最终得到:

    A  B
12  2  c
15  5  f
10  0  a
14  4  e
Run Code Online (Sandbox Code Playgroud)

有没有命令让我可以去:

df.iloc[[index isin list]]
Run Code Online (Sandbox Code Playgroud)

因为值列表是由较早的一段代码制成的。

我试过:

df.loc[[ix]]
Run Code Online (Sandbox Code Playgroud)

哪里ix=dm.iloc[250].sort_values()[:10].index和是Int64Index([250, 1109, 427, 513, 678, 18, 697, 1075, 533, 739], dtype='int64')

无济于事。

欢迎提出建议!

jez*_*ael 7

先改成list另一个名字,比如L,因为python代码字,然后select byDataFrame.loc用于按标签选择:

L=[12,15,10,14]
df = df.loc[L]
print (df)
    A  B
12  2  c
15  5  f
10  0  a
14  4  e
Run Code Online (Sandbox Code Playgroud)

您的解决方案很接近按位置选择DataFrame.iloc功能:

L1 = [2,5]
df = df.iloc[L1]

print (df)
    A  B
12  2  c
15  5  f
Run Code Online (Sandbox Code Playgroud)