假设我有这样的数据框架:

Hospital_name    State    Employees    ......
Fortis           Delhi    5000         ......
AIIMS            Delhi    1000000      ......
SuperSpeciality  Chennai  1000         ......

现在,我想使用此数据框架来构建机器学习模型进行预测分析。为此,我必须将字符串转换为浮点值。医院_NAME和状态中的其中一些列还包含“ NAN”值。在这种情况下,我应该如何准备数据以在Keras中构建模型?

有帮助吗?

解决方案

要从字符串转换为pandas中的浮动(假设您要转换员工并使用DF加载数据框),则可以使用

df['Employees'].apply(lambda x:float(x))

您没有提供有关输入和预期输出的足够信息。因此,让我们假设医院的名称或任何事物是您模型的输入的 nan, ,您想从数据集中删除它,因为从'nan'没有意义。除此之外,如果它们只是其他外围特征,那就可以了。在这种情况下,如果您想将它们转换为空白,请使用 df.replace(np.nan,' ', regex=True). 。否则,如果您想删除该框架,则可以使用 这个.

其他提示

处理类型的最佳方法是在摄入文件时指定它:

pandas.read_csv(file_name, dtype={"Employees": float})

您对Keras中缺少的数据的处理取决于您。你的计划是什么?

更直接的转换方式 Employeesfloat.

df.Employees = df.Employees.astype(float)

您没有指定使用NAN的内容,但是可以使用不同的值(INT或字符串)替换它们:

df = df.fillna(value_to_fill)

如果您想与 NaN 在其中:df = df.dropna()

我不明白为什么您会将字符串映射到漂浮物...我建议使用一个热编码用布尔1或0对字符串进行分类。

在熊猫里,这将是

import pandas as pd
s = pd.Series(list('abca'))
pd.get_dummies(s)

   a  b  c
0  1  0  0
1  0  1  0
2  0  0  1
3  1  0  0

您也可以添加 pd.get_dummies(l, dummy_na=True) 处理NAN值。

许可以下: CC-BY-SA归因
scroll top