1

str.contains()方法将数据框过滤为仅包含以下值"A"

df = pd.DataFrame({"City": ["A","B","C","D","A","A"]})
df[df["City"].str.contains("A")]

但是,如果我尝试.isin()在同一个数据帧上使用,则输出结果为空系列:

df = pd.DataFrame({"City": ["A","B","C","D","A","A"]})
df[df["City"].isin("A")]
4

1 回答 1

0

pandas.Series.isin()需要一个list(更具体地说,一个set或类似列表的)要搜索的东西。

使用.isin(["A"])代替.isin("A")

df[df["City"].isin(["A"])]
#                  ^   ^

输出:

>>> df[df["City"].isin(["A"])]
  City
0    A
4    A
5    A

由于 的这个特性isin,您可以一次搜索多个项目:

>>> df[df["City"].isin(["A", "B"])]
  City
0    A
1    B
4    A
5    A
于 2021-11-15T18:47:12.963 回答