Пока у меня есть следующий фрейм данных:
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, что мне интересно, стоит ли мне использовать его, чтобы делать то, что я хочу ...
Любая помощь будет высоко ценится.
Спасибо!