我正在根据列的值填充数据框。可以重复数据帧中的行。
df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]})
out[16]:
A B
0 5 1
1 6 2
2 3 3
3 4 5
df[df['A'].isin([3, 6])]
Out[17]:
A B
1 6 2
2 3 3
这是预期的。我需要的是不同的东西。我需要有重复的行。怎么可能?
df[df['A'].isin([3, 6,3])]
答案 0 :(得分:2)
您可以使用get_indexer_for
查找与df['A']
中的值[3,6,3]对应的序数索引。然后使用df.iloc
查找行:
import pandas as pd
df = pd.DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]})
idx = pd.Index(df['A']).get_indexer_for([3,6,3])
print(df.iloc[idx])
打印
A B
2 3 3
1 6 2
2 3 3