无法将Pandas Dataframe列转换为float

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将Pandas Dataframe列转换为float相关的知识,希望对你有一定的参考价值。

我正在使用Pandas读取包含几个必须转换为浮点数的列的CSV文件:

    df = pd.read_csv(r'dataset.csv',  low_memory=False,  sep = ',')
    df.head(2)

    Coal Flow 01    Air Flow 01 Outlet Temp 01  Inlet Temp 01   Bowl DP 01  Current 01  Vibration 01
    0   51.454407   101.432340  64.917089   234.2488932 2.470623    96.727352   1.874374
    1   51.625368   100.953089  64.726890   233.2340394 2.495698    96.309512   1.996391

接下来,我在一个名为features的变量中指定需要转换为浮点数的列:

    features = ['Coal Flow 01', 'Air Flow 01', 'Outlet Temp 01', 'Inlet Temp 01',
           'Bowl DP 01', 'Current 01', 'Vibration 01']

然后我需要将列的值转换为浮点数,但出现错误。

features = np.stack([df[col].values for col in features], 1)
features = torch.tensor(features, dtype=torch.float)
features[:5]

Pandas显示给我的错误是:

KeyError:“ [索引([51.45440668,101.4323397,64.91708906,'234.2488932', n 2.470623484,96.72735193,1.87437372], n dtype ='object')中都不存在]] >>

我正在使用Pandas读取CSV文件,其中包含必须转换为浮点数的几列:df = pd.read_csv(r'dataset.csv',low_memory = False,sep =',')df.head(2)煤流量01 ...

答案

为什么不只使用astype

以上是关于无法将Pandas Dataframe列转换为float的主要内容,如果未能解决你的问题,请参考以下文章

将 Pandas DataFrame 的行转换为列标题,

Pandas DataFrame 将 jsons 列列表转换为信息行,每个“id”

python pandas中如何将dataframe中的一列字符串类型转换为浮点类型?

将 Pandas Dataframe 中的选择列转换为 Numpy 数组

将 Numpy 数组按列转换为 Pandas DataFrame(作为单行)

将 Pandas DataFrame 中的日期对象列转换为字符串