You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取DataFrame列表的共同列?修正列名列表格式问题

问题:找出DataFrame列表中的共同列格式问题

我需要找出DataFrame列表中的共同列,思路是用列表x1存储每个DataFrame的列名,再提取为独立列表,但当前代码生成的结果是:

lst_1=['a1,a2,a3'] 

而要使用set(lst_1) & set(lst_2)这类集合交集操作,需要把格式修正为:

lst_1=["a1","a2","a3"]

当前使用的代码:

x1=[]
dfs = [list of df]

for i, df in enumerate(dfs):
    x1.append([",".join((str(i) for i in df.columns))])

    globals()[f'lst_{i}']= x1[i]

问题分析

代码里用",".join(...)把列名拼接成了单个字符串,又将这个字符串塞进子列表,最终得到的是仅含一个元素的列表,无法直接进行集合交集操作。

修正后的代码

直接将DataFrame的列名转为列表存入x1,无需拼接字符串:

x1 = []
dfs = [list of df]  # 替换为你的DataFrame列表

for i, df in enumerate(dfs):
    # 直接转换列名为列表
    col_list = list(df.columns)
    x1.append(col_list)
    globals()[f'lst_{i}'] = col_list

更简洁的实现(可选)

如果只是为了求所有DataFrame的共同列,无需生成单独的lst_1、lst_2变量,直接用集合操作一步到位:

dfs = [list of df]
# 以第一个DataFrame的列作为初始集合
common_cols = set(dfs[0].columns)
# 遍历剩余DataFrame,逐步求交集
for df in dfs[1:]:
    common_cols.intersection_update(df.columns)
# 转换为列表格式
common_cols = list(common_cols)

内容的提问来源于stack exchange,提问作者user14269252

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 08:07:06