В настоящее время я пытаюсь добавить некоторые значения списка в новый столбец в моей таблице панд.Первое значение col3
является первым в списке.Второе значение одинаково в случае, если кортеж col1
и col2
остается тем же.Условием для начала добавления следующего элемента списка является то, что это новая уникальная комбинация элементов из столбцов col1
и col2
.
Пример:
df = pd.DataFrame({'col1':[1,1,1,1,3,3,3,10], 'col2':[1,1,2,2,9,9,9,5]})
list1=[5,9,3,12]
col1 col2 col1 col2 col3
1 1 1 1 5
1 1 1 1 5
1 2 should become 1 2 9
1 2 ------------------> 1 2 9
3 9 3 9 3
3 9 3 9 3
3 9 3 9 3
10 5 10 5 12
Я работал с одним столбцом как условие:
di =dict(zip(df['col1'].unique(),list1))
df['col2'] = df_averageInPanda['col1'].map(di)
Чтобы запустить его с условием кортежа, которое я пробовал drop_duplicate()
, поскольку функция unique()
не работает с несколькими столбцами, но она не работает, но дает пустое значение col3
di =dict(zip(df[['col1','col2']].drop_duplicates(),list1))
df['col3'] = df['col1'].map(di)
Есть идеи, как это исправить?