簡體   English   中英

根據 Pandas 中的列表選擇數據框行的子集

[英]Select subset of Data Frame rows based on a list in Pandas

我有一個數據框df1和列表x

In [22] : import pandas as pd
In [23]: df1 = pd.DataFrame({'C': range(5), "B":range(10,20,2), "A":list('abcde')})
In [24]: df1
Out[24]:
   A   B  C
0  a  10  0
1  b  12  1
2  c  14  2
3  d  16  3
4  e  18  4

In [25]: x = ["b","c","g","h","j"]

我想要做的是根據列表選擇數據框中的行。 返回

   A   B  C
1  b  12  1
2  c  14  2

有什么辦法呢? 我試過這個但失敗了。

df1.join(pd.DataFrame(x),how="inner")

使用isin返回一個布爾索引供您索引到您的 df:

In [152]:

df1[df1['A'].isin(x)]
Out[152]:
   A   B  C
1  b  12  1
2  c  14  2

這就是isin正在返回的內容:

In [153]:

df1['A'].isin(x)
Out[153]:
0    False
1     True
2     True
3    False
4    False
Name: A, dtype: bool

使用 df[df["column"].isin(values)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM