如何用Python为DataFrame新增列:拼接表头匹配指定列表的列内容
实现方法
这里有个简洁的方案来生成你需要的combined列,直接用Pandas的内置方法就能搞定:
import pandas as pd # 你的目标列列表 myList_groupby = ["domain","tag_name","tag_hierarchy","html_attributes","extension","xyz"] # 生成combined列:按行拼接指定列的内容,用空格分隔(可自定义分隔符) df_explode["combined"] = df_explode[myList_groupby].apply( lambda row: ' '.join(row.astype(str)), axis=1 )
细节说明
- 筛选目标列:
df_explode[myList_groupby]先帮我们把需要拼接的列单独提取出来,避免处理无关列 - 按行拼接:
apply(..., axis=1)指定按行处理每一行数据,lambda函数里把每行的所有值转成字符串后,用空格拼接成一个完整的字符串 - 处理空值(可选):如果你的数据里有NaN值,上面的代码会把它转成字符串"nan"。要是想忽略空值,可以改成下面的写法:
df_explode["combined"] = df_explode[myList_groupby].apply( lambda row: ' '.join(str(val) for val in row if pd.notna(val)), axis=1 ) - 自定义分隔符:如果不想用空格,把
' '.join(...)里的空格换成你需要的符号就行,比如','.join(...)实现逗号分隔
内容的提问来源于stack exchange,提问作者Arghya Ganguly
相关产品推荐
相关产品推荐

