用列表中的值创建新的df

时间:2019-03-19 17:36:41

标签: python pandas dataframe

我有df和值列表,我想仅从列表中的值创建新的df。我该怎么办?

df = pd.DataFrame({'A' : [5,6,3,4,6], 'B' : [1,2,3, 5,1]}) 
list_of_values = [3,6] 
result= df.query("A in @list_of_values")
print(result)

这就是我所拥有的:

   A  B
1  6  2
2  3  3
4  6  1

这就是我想要的:

   A  B
0  6  2
1  3  3
2  6  1

1 个答案:

答案 0 :(得分:0)

只需在drop=True下执行reset_index()

result= df.query("A in @list_of_values").reset_index(drop=True)

df = pd.DataFrame({'A' : [5,6,3,4,6], 'B' : [1,2,3, 5,1]}) 
list_of_values = [3,6] 
result= df.query("A in @list_of_values").reset_index(drop=True)
print(result)

   A  B
0  6  2
1  3  3
2  6  1