У меня есть словарь Python
{1:cat,
2:dog,
3:sheep,
4:foo,
5:bar,
6:fish,
7:lion,
8:shark,
9:zebra,
10:snake}
Также у меня pandas dataframe, как указано ниже df
:
ID col1 col2 col2 col4
18938 1 Nan 5 Nan
17839 Nan 2 Nan 8
72902 3 5 9 Nan
78298 7 Nan Nan 6
Теперь я пытаюсь заменить или отобразить значения каждой ячейкив каждом столбце значения словаря и пытается concat
все значения столбца в новый столбец.
Новый df
должен выглядеть следующим образом:
ID col1 col2 col2 col4 new_col
18938 cat Nan bar Nan cat|bar
17839 Nan dog Nan shark dog|shark
72902 sheep bar zebra Nan sheep|bar|zebra
78298 lion Nan Nan fish lion|fish
Я пытаюсь выполнить 2-й шаг, который состоит из concat
всех столбцов с использованием кода
df['new_col'] = df.drop('ID',1).agg(lambda x: '|'.join(x.dropna().astype(str).values), axis=1)
но я не могу заставить работать первый шаг
Я использовал
df = df.columns.map(dict)
, но он не дает мне ожидаемого ответа, который мне нужен.