假设我有一个熊猫数据框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)])
但是我认为该解决方案仅返回唯一的行,并且不会像我需要的那样重复它们。
答案 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