我想在所有类别变量中使用“ U”来插入NaN,并在所有float64变量中使用模式来插入NaN。如果我使用.select_dtypes方法,则输出数据帧中仅包含分类变量(如果我选择了“对象”,或者如果我选择了“ float”,则仅其中有float64变量。如何在同一数据中进行单独的插补框架。
我使用了pandas.fillna方法,它对所有变量都起作用。 这是数据集。
PID ST_NUM ST_NAME OWN_OCCUPIED NUM_BEDROOMS NUM_BATH SQ_FT
0 100001000.0 104.0 PUTNAM Y 3.0 1.00 1000.0
1 100002000.0 197.0 LEXINGTON N 3.0 1.50 800.0
2 100003000.0 125.0 LEXINGTON N NaN 1.00 850.0
3 100004000.0 201.0 BERKELEY U 1.0 1.25 700.0
4 100006000.0 203.0 BERKELEY Y 3.0 2.00 1600.0
5 100006000.0 207.0 BERKELEY Y NaN 1.00 800.0
6 100007000.0 125.0 WASHINGTON NaN 2.0 2.00 950.0
7 100008000.0 213.0 TREMONT Y 1.0 1.00 NaN
8 100009000.0 215.0 TREMONT Y NaN 2.00 1800.0
>>> print(df.dtypes)
PID float64
ST_NUM float64
ST_NAME object
OWN_OCCUPIED object
NUM_BEDROOMS float64
NUM_BATH float64
SQ_FT float64
dtype: object
import pandas as pd
df = pd.read_csv("c:\\datamining\\data\\property_data.csv")
df.fillna(method ='ffill', inplace = True)
df.fillna(value= "0", inplace=True)
df.fillna(df.mode(), inplace=True)