检查datafram中的值是否与列表中的字符串匹配

时间:2020-06-29 08:13:08

标签: pandas dataframe

我想检查特定行和列中的值是否与列表中的字符串完全匹配(请考虑我在寻找完全匹配的内容)。

#input data
mylist_tram = ["VBZ_line9", "VBZ_line8"]

#data frame _ df
ActivityType_EOD    lineId_EOD
leg                 AAG_line7
leg                 AAG_line50
leg                 VBZ_line9
leg                 VBZ_line8

我写了下面的代码,但这是不正确的

#check the value in data frame for matching
df[df.loc[2, 'lineId_EOD'] in mylist_tram]

预期输出是False或True答案。

我不能使用isin() 例如

df.loc[2, 'lineId_EOD'].isin(mylist_tram)

因为我有以下错误:

'str' object has no attribute 'isin'

2 个答案:

答案 0 :(得分:0)

因为比较选定值DataFrame的标量输出得到TrueFalse标量:

out = df.loc[2, 'lineId_EOD'] in mylist_tram

答案 1 :(得分:0)

df[df.loc[2, 'lineId_EOD'] in mylist_tram]

应更改为

df.loc[2, 'lineId_EOD'] in mylist_tram