Python关键词DataFrame列解析:拆分词列并关联金额列
解决DataFrame词语拆分并关联金额列的问题
我来帮你搞定这个需求!咱们可以用Pandas轻松实现把Words列拆分后和Amount列关联生成新DataFrame的操作,以下是具体步骤和代码:
步骤1:构造示例DataFrame(或读取数据源)
先还原你的示例数据,如果是从Excel读取,用pd.read_excel()即可,这里先构造示例数据:
import pandas as pd # 你的示例数据源 original_data = { 'Words': ['Google', 'Google is awesome', 'Hi Google'], 'Amount': [5, 10, 5] } df = pd.DataFrame(original_data)
步骤2:拆分Words列并整理列名
用str.split()方法拆分字符串,指定最多拆分次数来得到3个单词列,同时将拆分结果转为DataFrame并重命名列:
# 拆分Words列,最多拆分为3列,缺失值用NaN填充 split_result = df['Words'].str.split(' ', n=2, expand=True) # 重命名列,匹配你需要的Word1/Word2/Word3格式 split_result.columns = ['Word1', 'Word2', 'Word3']
步骤3:合并拆分结果与Amount列
把拆分后的单词列和原DataFrame的Amount列按列合并,得到最终的新DataFrame:
# 按列拼接数据,保证每行金额与拆分后的单词一一对应 new_df = pd.concat([split_result, df['Amount']], axis=1) # 如果需要把NaN替换为空字符串,可添加这一行 # new_df = new_df.fillna('')
最终结果
运行后new_df的输出如下:
Word1 Word2 Word3 Amount 0 Google NaN NaN 5 1 Google is awesome 10 2 Hi Google NaN 5
关键说明
str.split(' ', n=2, expand=True):n=2表示最多拆分2次,确保得到最多3列;expand=True让拆分结果直接成为DataFrame,方便后续操作。- 合并时用
axis=1表示按列拼接,严格保留每行的金额与对应拆分单词的关联关系。
内容的提问来源于stack exchange,提问作者archangel
相关产品推荐
相关产品推荐

