使用值列表從pandas數據框中選擇行假設我有以下pandas數據幀:df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]})df
A B0 5 11 6 22 3 33 4 5我可以根據特定值進行子集化:x = df[df['A'] == 3]x
A B2 3 3但是我如何根據值列表進行子集化? - 這樣的事情:list_of_values = [3,6]y = df[df['A'] in list_of_values]
3 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
這確實是如何通過“within”/“in”過濾pandas的數據幀行的重復?,將響應翻譯成你的例子給出:
In [5]: df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]})
In [6]: df
Out[6]:
A B
0 5 1
1 6 2
2 3 3
3 4 5
In [7]: df[df['A'].isin([3, 6])]
Out[7]:
A B
1 6 2
2 3 3

料青山看我應如是
TA貢獻1772條經驗 獲得超8個贊
您也可以使用'query'和@ <您的值列表>來獲得類似的結果:例如:df = pd.DataFrame({'A':[1,2,3],'B':['a', 'b','f']})df = pd.DataFrame({'A':[5,6,3,4],'B':[1,2,3,5]})list_of_values = [3 ,6]結果= df.query(“A in @list_of_values”)結果AB 1 6 2 2 3 3

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
您將如何按列表的順序返回這些值?例如,list_of_values
值為3然后是6,但幀返回6然后3.我不是在談論一個簡單的排序,而是我們如何具體地按照列表中的值的順序返回
添加回答
舉報
0/150
提交
取消