Python 检索多个数据帧上的唯一列名,并将所有列名追加到列表中
任务描述 我想跨多个数据帧检索列名,并将唯一的名称附加到列表中。下面的代码将第一个列名附加到列表中,但我不确定如何检索剩余数据帧的不同列名并将其附加到Python 检索多个数据帧上的唯一列名,并将所有列名追加到列表中,python,list,dataframe,for-loop,append,Python,List,Dataframe,For Loop,Append,任务描述 我想跨多个数据帧检索列名,并将唯一的名称附加到列表中。下面的代码将第一个列名附加到列表中,但我不确定如何检索剩余数据帧的不同列名并将其附加到desiredlist。任何想法都会很棒 alldf = [df, df1, df2, df3, df4] for index, dataframe in enumerate(alldf): desiredlist = [] a = dataframe.columns.values.tolist() desiredlist
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 TL
Date
2001 a 1.0 44 50
df1
ID AA TM TP
Date
2001 a 1.0 44 50
df2
ID TP TZ TK
Date
2001 a 1.0 44 50
df3
ID AA TA TG
Date
2001 a 1.0 44 50
df4
ID AB TT TQ
Date
2001 a 1.0 44 50
列出所需的输出
所有列名跨多个数据帧输出,但仅显示一次
desiredlist = ['AA', 'TA', 'TL', 'TM', 'TP', 'TZ', 'TK','TG', 'AB', 'TT', 'TQ']
您可以遍历列表“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)
您可以遍历列表“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)
可以使用填充集合,然后获取唯一的列名
例如:
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'}
可以使用填充集合,然后获取唯一的列名
例如:
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'}
谢谢你,伙计!工作做得很好谢谢堆伙伴!工作做得很好谢谢你的回复,工作也做得很好!干杯:)谢谢你的回复,工作也做得很好!干杯:)