【发布时间】:2020-09-19 02:15:27
【问题描述】:
我有一个数据框,其中包含多个具有空值的列。我使用以下代码来获取特定列及其数据类型。我的数据框在这里称为数据。
missing = data.columns[data.isnull().any()].tolist()
data_type_dict = {}
for i in missing:
print({i:data[i].isnull().sum()})
data_type_dict.update({i:data[i].dtypes})
print(data_type_dict)
现在我想将空值替换为我的数字列的中位数,以及类型对象的模式。我希望根据数据类型将其拆分为第一个,因此 float 是分开的,而 object 是分开的。这就是我为此所做的。我只发一个,比较短,我做了两个 dfs。
lisnum = data[['MasVnrArea','GarageYrBlt']]
现在,首先,另一个更长,所以它不仅仅是两列的问题。为此,我想获取每列的中位数并用中位数替换空值。我希望在 for 循环中做到这一点。 基本上我想做这样的事情:
data['MasVnrArea'].fillna(median, inplace = True)
但对于 lisnum 的每一列都有一个 for 循环。
【问题讨论】:
标签: python pandas jupyter-notebook jupyter spyder