如何在Python中将Object转换为Float

时间:2017-02-09 06:55:14

标签: python-2.7 python-3.x pandas types scikit-learn

我有以下数据框:

     Daily_KWH_System      year     month  day  hour  minute  second
 0         4136.900384      2016      9    7     0       0       0
 1         3061.657187      2016      9    8     0       0       0
 2         4099.614033      2016      9    9     0       0       0
 3         3922.490275      2016      9   10     0       0       0
 4         3957.128982      2016      9   11     0       0       0
 5         4177.014316      2016      9   12     0       0       0
 6         3077.103445      2016      9   13     0       0       0
 7         4123.103795      2016      9   14     0       0       0
..                ...       ...      ...  ...   ...     ...     ...
551               NaN       2016      11  23     0       0       0
552               NaN       2016      11  24     0       0       0
553               NaN       2016      11  25     0       0       0
..                ...       ...      ...  ...   ...     ...     ...
579               NaN       2016      11  27     0       0       0
580               NaN       2016      11  28     0       0       0

变量类型如下:

print(df.dtypes)

Daily_KWH_System    object
year                 int32
month                int32
day                  int32
hour                 int32
minute               int32
second               int32

我需要转换" Daily_KWH_System"浮点数,以便我在线性回归模型中使用。

我尝试了以下代码,效果很好。

 df['Daily_KWH_System'] = pd.to_numeric(df['Daily_KWH_System'], errors='coerce')

然后我将NaN&s替换为空白空间,以便在我的模型中使用。我使用了以下代码

 df = df.replace(np.nan,' ', regex=True)

但是,变量" Daily_KWH_System"一旦我替换NaN'就会转换为Object。

请告诉我如何解决这个问题

0 个答案:

没有答案