как я могу создать новый столбец данных, который отображается в словарь, но только для пустых строк, при этом сохраняя значения ссылочного столбца для непустых строк?Ниже я создал «новый столбец» путем сопоставления столбца «col1» с x, но я хочу сопоставить его с x только в том случае, если «столбец col2» пуст, а в противном случае использовать значение в столбце col.
import pandas as pd
x = {'three':'green','four':'purple','five':'orange'}
d = {'col1': ['three', 'four', 'five'], 'col2':['blue',"","red"]}
df = pd.DataFrame(data=d)
df['new col']=df['col1'].map(x)
фактическирезультат:
col1 col2 new col
0 three blue green
1 four purple
2 five red orange
желаемый результат (новый столбец сохраняет значения 'blue' и 'red' в строках 0 и 2, но отображает строку 1 в x):
col1 col2 new col
0 three blue blue
1 four purple
2 five red red