Умножить два столбца одного и того же кадра данных

Я действительно не понимаю, почему я получаю значение 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 может дать вам некоторую информацию о том, какие типы могут не соответствовать.

Другие вопросы по тегам