首页 > 解决方案 > 我想逐字过滤数据帧中的行,但它给出了空白

问题描述

我想在我的数据框中逐字过滤行。我的话是总督。Dataframe 包括 Elon Musk 的推文。我想按单词过滤这些推文并提取过滤后的推文。我的代码算法的最后一部分如下。

pi = tweepy.API(authenticate, wait_on_rate_limit = True)
tweets = api.user_timeline(screen_name = "elonmusk", count = 2000,lang = "en", tweet_mode = "extended")

df = pd.DataFrame([tweet.full_text for tweet in tweets], columns = ["tweet"])
def cleantext(text):
    text = re.sub(r'@\w+', "", text) # Remove Mentions
    text = re.sub(r"#", "", text) # Remove Hashtags Symbol
    text = re.sub(r"RT[\s]+", "", text) # Remove Retweets
    text = re.sub(r"https?:\/\/\S+", "", text) # Remove The Hyper Link
    
    return text
# Clean The Text
df["tweet"] = df["tweet"].apply(cleantext)

df[df['tweet'].str.contains('Doge')]

标签: pythonpandasdataframetwittertweepy

解决方案


这是你想要的?

#make a dataframe 
d = {'tweet': ['elon tweets about doge coin', 'elon tweets about bitcoin']}
df = pd.DataFrame(data=d)

#get filtered records for twwets containing doge
df.loc[df['tweet'].str.contains('doge'),:]

这就是它在我的环境中的样子 在此处输入图像描述

您可以使用 df.loc 从数据框中过滤列和记录,在这种情况下,我们通过包含 doge 的字符串过滤记录。

如果您想看一下,文档就在这里:

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.loc.html

https://pandas.pydata.org/docs/reference/api/pandas.Series.str.contains.html


推荐阅读