Найти пересечение столбцов в кадре данных строка за строкой - PullRequest
0 голосов
/ 29 апреля 2020

Пока у меня есть следующий фрейм данных:

  col_1    col_2   col_3 (...)
0 ABCD     ABCD    NaN
1 NaN      NaN     DDCA
2 AABB     AABB    AABB
3 CCDD     NaN     CCDD
(...)

Моя цель теперь состоит в том, чтобы добавить col_4, который пересекает три столбца, строка за строкой. Это означает, что мне нужен следующий вывод:

  col_1    col_2   col_3   col_4
0 ABCD     ABCD    NaN     NaN
1 NaN      NaN     DDCA    NaN
2 AABB     AABB    AABB    AABB
3 CCDD     NaN     CCDD    NaN

Важно, чтобы порядок не изменился. Я пробовал разные вещи, и единственное, что действительно что-то сделало, было:


cols = list(df.columns.values)

inter_col = pandas.Series(list(set(df[cols[0]])&set(df[cols[1]]&set(df[cols[2]])))
df = pandas.concat([df, inter_col], axis=1)

Но, как вы можете себе представить, это не в порядке.

Пара замечаний:

Мне нужно получить доступ к именам столбцов с помощью df.columns.values, потому что фрейм данных создается с помощью os.walk, и каждый столбец назван по имени, указанному мной. "не знают" о. Мне также нужно сделать пересечение с N столбцами, но я не знаю как.

Я так много боролся с pandas, что мне интересно, стоит ли мне использовать его, чтобы делать то, что я хочу ...

Любая помощь будет высоко ценится.

Спасибо!

...