Умножить два столбца одного и того же кадра данных
Я действительно не понимаю, почему я получаю значение NaN после умножения двух столбцов одного и того же кадра данных:
У меня есть 2 столбца, 1 float и 1 int.
Я написал:
df['total'] = df_prt.Quantity * df_prt.Price
Это результат:
600000 * 110.319199 = Nan
-600000 * 1.106900 = Nan
9000032.4 * 30000 = Nan
43797 * 19.603200 = 3.161641e+06
Почему я получаю Нэн?
2 ответа
Извините, это правильные результаты:
600000 * 110.319199 = Nan
-600000 * 1.106900 = Nan
90000 * 32.430000 = Nan
43797 * 19.603200 = 3.161641e+06
Это должно работать, если оба значения являются числовыми.
df_prt = pd.DataFrame([
[600000, 110.319199],
[-600000, 1.106900],
[9000032.4, 30000],
[43797, 19.603200],
], columns=['Quantity', 'Price'])
df_prt['total'] = df_prt.Quantity * df_prt.Price
Это приводит к ожидаемому поведению. Поэтому я бы предположил, что некоторые из ваших данных имеют неправильный тип (например, строка вместо float).
df_prt.dtypes
а также df.dtypes
может дать вам некоторую информацию о том, какие типы могут не соответствовать.