首页 > 解决方案 > 在 Python/Pandas 中执行数学运算符时处理 NA?

问题描述

我正在尝试对调查变量进行乘法运算(与较早的帖子有些相关):

import pandas as pd
import numpy as np

Data_2017_18.income2_weight = Data_2017_18.income2.astype(int) * Data_2017_18.survey_weight

但是,我收到此错误消息:

ValueError: Cannot convert float NaN to integer

我试图加权的变量的频率计数如下:

Data_2017_18.income2.value_counts()

NA    650
2     181
1      62

我正在尝试一种解决方法来对变量进行子集化,因此没有 NA:

income2_2017_18 = Data_2017_18[(Data_2017_18.income2 == 1)]

然而,它的子集如下:

income2_2017_18.income2.value_counts()

2     0
NA    0
1     0

知道为什么要这样做,以及关于如何解决它的任何建议吗?

非常感激。

标签: pythonpandas

解决方案


推荐阅读