如何仅在所有类别变量中推算Nan值

时间:2019-10-07 06:20:57

标签: python-3.x

我想在所有类别变量中使用“ 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)

0 个答案:

没有答案