python - 使用startswith检查数据框中的列
问题描述
我有一个推文数据框。我想检查一个文本是否是转推。首先,我编写了一个函数来检查推文是否是转发:
def isRetweet(tweet):
check_RT = tweet.startswith("RT ")
if check_RT ==True:
return check_RT
else:
return check_RT
然后我检查列中是否有任何行包含转推。
text = tweets['tweet_text']
check_retweet = isRetweet(text)
print(check_retweet)
它返回此错误'Series' object has no attribute 'startswith'
无论如何将我的功能应用于列中的单个行/文本?还是我的功能有什么问题?
解决方案
您应该使用str
accessor,并且您也不需要该功能:
tweets['is_retweet'] = tweets['tweet_text'].str.startswith('RT')
如果您坚持拥有一个功能,您应该使用apply
:
tweets['is_retweet'] = tweets['tweet_text'].apply(lambda tweet: tweet.startswith('RT'))
这两个示例都将创建一个新的布尔列。
推荐阅读
- node.js - 使用 ESP-IDF 从 node.js 服务器发送图像到 ESP32
- python - 在没有 Selenium Python 的情况下获取当前浏览器 URL
- file-transfer - 远程接收文件进行数据分析
- java - com.microsoft.sqlserver.jdbc.SQLServerException:列、参数或变量 #9:找不到数据类型 json
- docker - Docker 无法运行
- google-compute-engine - 在偶尔完整备份 Google Cloud Compute Engine 之前删除增量快照
- c++ - C++:使用常量引用结构创建 getter
- html - 汉堡图标动画的动画不起作用
- c - 在 C 中使用格式说明符打印
- python - 是否有 Python 编程可以在不使用 CMD 的情况下连接到路由器的 ssid?