#python #pandas #list #dataframe #operators
Вопрос:
У меня есть фрейм данных, подобный этому
data= {'A':[np.nan,1,3,np.nan],'B':[np.nan,2,np.nan,8]}
df=pd.DataFrame(data,columns=['A','B'])
print(df)
Я хочу выполнить операцию умножения, такую как
df['C']=df['A']*df['B']
Но так как в столбце есть значения nan, это дает мне эту ошибку
TypeError: can't multiply sequence by non-int of type 'float'
Поэтому дайте мне знать, как сделать это умножение возможным.
например: np.nan*8 = np.nan —>должен дать мне вот так
Большое вам спасибо !!
Комментарии:
1. использовать
df['C']=df['A'].mul(df['B'])
2.
df.assign(C=df.prod(1, skipna=False)
3. кстати, какова ваша версия панды? bcz в
'1.2.4'
этомdf['C']=df['A']*df['B']
отлично работает!!4. Тот же ответ, что и @AnuragDabas для»
1.3.0'
.