根据列选择熊猫数据框中的数据

时间:2018-07-20 08:20:19

标签: python pandas dataframe

假设我有一个熊猫数据框df1和值数组a1

df1
col1 |col2 
A    |123
B    |321
C    |2323
D    |3232

a1
[A,B,A,D]

我想返回一个带有len(a1)行的数据帧df2。

df2
    col1 |col2 
    A    |123
    B    |321
    A    |123
    D    |3232

我一直在尝试使用iloc,loc,但是找不到合适的解决方案...

编辑: 我尝试使用

len(df1[df1['col1'].isin(a1)]) 

但是我认为该解决方案仅返回唯一的行,并且不会像我需要的那样重复它们。

1 个答案:

答案 0 :(得分:2)

您需要 set_index ,然后才能将 loc 用于值列表:

a1 = ['A', 'B', 'A', 'D']
df.set_index('col1').loc[a1]

      col2
col1
A      123
B      321
A      123
D     3232