Pandas .append方法已弃用,如何改用.concat实现推文情感分析?
解决Pandas append弃用警告并优化推文情感分析代码
你遇到的FutureWarning是因为Pandas已弃用append方法,推荐使用concat。但循环中反复调用concat拼接DataFrame效率极低,更优的做法是先收集所有行数据到列表,最后一次性转换为DataFrame,既消除警告又提升性能。
优化后的代码
# 初始化空列表存储每行数据 data_rows = [] for post in tqdm(df): polarity = getPolarityScore(post) sentiment = getSentiment(polarity) # 以字典形式存储单条数据,键对应最终列名 data_rows.append({ 'Tweet_Polarity': round(polarity, 2), 'Tweet_Sentiment': sentiment, 'Tweet': post }) # 一次性将列表转为DataFrame sentiment_df = pd.DataFrame(data_rows) sentiment_df.head(10)
方案优势
- 性能更优:列表追加是O(1)操作,避免了循环中
concat反复创建新DataFrame的性能损耗,数据量越大优势越明显 - 代码简洁:直接通过字典定义列名,无需后续手动设置
columns参数 - 彻底消除警告:完全规避了已弃用的
append方法
关于你提到的"错误"
你贴出的1%|▊ | 1/101 [00:00<00:00, 496.02it/s]并非错误,这是tqdm库的进度条输出,说明代码正在正常运行。如果没有得到预期结果,建议检查getPolarityScore、getSentiment函数的逻辑,或确认df中的数据格式是否符合函数输入要求。
内容的提问来源于stack exchange,提问作者user21385645
相关产品推荐
相关产品推荐

