Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检索多个数据帧上的唯一列名,并将所有列名追加到列表中_Python_List_Dataframe_For Loop_Append - Fatal编程技术网

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'}

谢谢你,伙计!工作做得很好谢谢堆伙伴!工作做得很好谢谢你的回复,工作也做得很好!干杯:)谢谢你的回复,工作也做得很好!干杯:)