2

我有一个包含不同类型数据的 CSV 文件。例如:有些列是分类的(例如城市名称) 有些是数字的(例如产品的价格)

我想使用 Python 3 读取数据文件,使所有分类数据都被 1-hot 编码,而数字数据被简单地编码为标量值。

像这样的东西:

import numpy as np

x = np.loadtxt(d, dtype={'names': ('city', 'price')
       'formats': (string, int)})

但在这里我也想对“城市”列进行一次热编码。

numpy/pandas/scikit 中是否有任何数据加载器/预处理器可以帮助读取 csv 以及对某些列进行 1-hot 编码?

4

1 回答 1

1

我认为你应该使用 pandas 包来做到这一点

import pandas as pd
df = pd.read_csv('file_name.csv')
df['city'] = df['city'].astype('str')
df['price'] = df['price'].astype('int')
print(df)
于 2019-12-12T16:42:07.167 回答