在Python3中使用正确的编码从CSV文件加载不同类型的数据
我有一个包含不同类型数据的CSV文件。 例如:某些列是分类的(例如城市名称) 有些是数字的(如产品价格) 我希望使用Python3读取数据文件,这样所有的分类数据都是1-hot编码的,而数字数据只编码为标量值 大概是这样的:在Python3中使用正确的编码从CSV文件加载不同类型的数据,python,pandas,numpy,scikit-learn,dataloader,Python,Pandas,Numpy,Scikit Learn,Dataloader,我有一个包含不同类型数据的CSV文件。 例如:某些列是分类的(例如城市名称) 有些是数字的(如产品价格) 我希望使用Python3读取数据文件,这样所有的分类数据都是1-hot编码的,而数字数据只编码为标量值 大概是这样的: import numpy as np x = np.loadtxt(d, dtype={'names': ('city', 'price') 'formats': (string, int)}) 但在这里,我想对“城市”列进行热编码 numpy/panda
import numpy as np
x = np.loadtxt(d, dtype={'names': ('city', 'price')
'formats': (string, int)})
但在这里,我想对“城市”列进行热编码
numpy/pandas/scikit中是否有任何数据加载器/预处理器可以帮助读取csv以及对某些列进行1-hot编码?我认为您应该使用pandas软件包来完成这项工作
将熊猫作为pd导入
df=pd.read\u csv('file\u name.csv'))
df['city']=df['city'].astype('str')
df['price']=df['price'].astype('int')
打印(df)
我想试一试,但首先要提醒一下:numpy可能不是你需要的。如果您可以包含一个csv文件的示例和一些关于其格式的信息,那就太好了。当您有一个完整的字符串数组要处理时,编码就更容易了。文件读取是逐行进行的。首先加载所有数据,然后执行一个热编码: