Python 如何过滤列包含列表中存储的值的数据帧?

Python 如何过滤列包含列表中存储的值的数据帧?,python,pandas,dataframe,Python,Pandas,Dataframe,大家好,我有个问题 我想问是否有人可以帮助我根据列表中的条目过滤出数据帧。我有一些单词我想检查它们是否存在于数据帧中存储的任何tweet中。我不确定这为什么不起作用,所以如果有人有任何指导,这将是非常有帮助的,谢谢 我的理解是,我将搜索数据帧的每一行 每次搜索一行时,我都会获取TweetsCheckList中的每个项目,并检查它是否在当前tweet中。如果是这样的话,我会将tweet附加到空数据帧中。为什么这不合适 更新: 我尝试了以下方法: """DataFram

大家好,我有个问题

我想问是否有人可以帮助我根据列表中的条目过滤出数据帧。我有一些单词我想检查它们是否存在于数据帧中存储的任何tweet中。我不确定这为什么不起作用,所以如果有人有任何指导,这将是非常有帮助的,谢谢

我的理解是,我将搜索数据帧的每一行

每次搜索一行时,我都会获取TweetsCheckList中的每个项目,并检查它是否在当前tweet中。如果是这样的话,我会将tweet附加到空数据帧中。为什么这不合适

更新:

我尝试了以下方法:

"""DataFrame of tweets"""
tweet_df = pd.DataFrame(text_tweets, columns = ["Date", "Tweet"])


"""Terms to search tweets"""
TweetsCheckList = ["Word", "Word2",..., "Word100"]

"""Empty Filtered DataFrame based on TweetsCheckList"""
df2 = pd.DataFrame(columns = ["Date", "Tweet"])

for y in tweet_df.iterrows():
    for x in TweetsCheckList:
        if x in tweet_df.Tweet:
            df2.append(y)

没有用…它告诉我:

for y in tweet_df:
    for x in covid19TweetsCheckList:
        if tweet_df.Tweet.str.contains(x):
            covid_df.append(y)

如果有人能告诉我这个错误的解决方法,我将非常感激

您可以使用布尔条件过滤数据帧,以检查列中是否存在任何单词,如下所示:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

这回答了你的问题吗?
# Setup:
tweet_df = pd.DataFrame({"Tweet": ["Word ...", "something else", "blah Word2"]})
TweetsCheckList = ["Word", "Word2", "Word100"]

# Solution:
conditions = False
for w in TweetsCheckList:
    conditions = conditions | (tweet_df["Tweet"].str.contains(w))
tweet_df.loc[conditions]