任务描述我想跨多个 DataFrame 检索列名并将唯一名称附加到列表中。以下代码将第一列名称附加到列表中,但我不确定如何检索其余 DataFrame 的不同列名称并将其附加到desiredlist. 任何想法都会很棒!alldf = [df, df1, df2, df3, df4]for index, dataframe in enumerate(alldf): desiredlist = [] a = dataframe.columns.values.tolist() desiredlist.append(a)数据框示例 df ID AA TA TLDate 2001 a 1.0 44 50 df1 ID AA TM TPDate 2001 a 1.0 44 50 df2 ID TP TZ TKDate 2001 a 1.0 44 50 df3 ID AA TA TGDate 2001 a 1.0 44 50 df4 ID AB TT TQDate 2001 a 1.0 44 50 列出所需的输出所有列名跨多个 DataFrame 输出,但只出现一次desiredlist = ['AA', 'TA', 'TL', 'TM', 'TP', 'TZ', 'TK','TG', 'AB', 'TT', 'TQ']
2 回答
HUH函数
TA贡献1836条经验 获得超4个赞
您可以遍历列表“a”并添加尚未添加到“desiredlist”的值。我想这就是你想要的。
alldf = [df, df1, df2, df3, df4]
desiredlist = []
for index, dataframe in enumerate(alldf):
a = dataframe.columns.values.tolist()
for column_name in a:
if not column_name in desiredlist:
desiredlist.append(column_name)
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
您可以使用set.update()来填充集合,然后获取唯一的列名。
例如:
df1 = pd.DataFrame({'A':[1], 'B':[2]})
df2 = pd.DataFrame({'A':[1], 'C':[2]})
df3 = pd.DataFrame({'D':[1], 'E':[2]})
df4 = pd.DataFrame({'D':[1], 'B':[2]})
unique = set()
for d in [df1, df2, df3, df4]:
unique.update(d)
print(unique)
印刷:
{'A', 'D', 'C', 'E', 'B'}
添加回答
举报
0/150
提交
取消