Сбор повторяющихся имен столбцов из нескольких DataFrames Python - PullRequest
0 голосов
/ 25 ноября 2018

По сути, я пытаюсь создать список, чтобы я мог объединить свои кадры данных с дублированными именами столбцов.Ниже описано, как я сейчас настроен.

sheets = [df1, df2, df3, df4]
col_list = []
dup_list = []

for i in sheets:
    col_list.append(i.columns.values)
    for c in col_list:
        if c.duplicated():
            dup_list.append(c)

Я получаю следующую ошибку

AttributeError: у объекта 'numpy.ndarray' нет атрибута 'duplicated'

Я знаю, что нет метода для дублирования.Каков наилучший способ получить дублированные имена столбцов, которые появляются во всех фреймах данных.

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 25 ноября 2018

Я полагаю, вам нужно set.intersection с отображением имен всех столбцов в set s:

df1 = pd.DataFrame(columns=list('acbd'))
df2 = pd.DataFrame(columns=list('abde'))
df3 = pd.DataFrame(columns=list('cbad'))
df4 = pd.DataFrame(columns=list('acbf'))

sheets = [df1, df2, df3, df4]
L = [x.columns for x in sheets]
#less readable
#L = [x for x in sheets]
dup_list  = list(set.intersection(*map(set,L)))
print (dup_list)
['a', 'b']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...