2017-08-01 175 views
1

我已经从机器学习存储库下载了一个数据集(.data),并将其保存为cvs文件。然后我用pandas阅读:熊猫 - 格式化csv文件将列名添加到列

dataset = pd.read_csv('mileage.csv') 

它打印像这样:

enter image description here

,但现在我需要添加(命名)columns的数据,我试图用做:

dataset = pd.read_csv('mileage.csv', names=["mpg", "cylinders", "displacement", "horsepower", "weight", "acceleration", "model year", "origin", "car name"]) 

这一点,但是,打印:

enter image description here

,所有数据被挤压成一列...

我要补充“逗号”,以cvs数据第一?

如何正确预处理这些数据,每列的每个数据?

+0

检查出'pd.read_csv' – jacoblaw

回答

1

您可以使用assign来初始化新列。看起来有些列已经在原始数据中,所以我将使用有条件的字典理解来仅获得新的数据。

new_cols = ["mpg", "cylinders", "displacement", "horsepower", "weight", "acceleration", "model year", "origin", "car name"] 

dataset = pd.read_csv('mileage.csv') 
dataset = dataset.assign(**{c: None for c in new_cols if c not in dataset}) 

直接访问一些样本数据:

import urllib2 

url = 'https://raw.githubusercontent.com/chrisjameskirkham/car-mpg/master/auto-mpg-nameless.csv' 
response = urllib2.urlopen(url) 
dataset = pd.read_csv(response).assign(**{c: None for c in new_cols if c not in dataset}) 
+0

错误仍然存​​在...列创建的,但所有的数据都在'哩挤压'sep'参数'列... – outkast

+0

也许文件不是用逗号分隔的。 – Alexander

+0

是的,我已经指出,在阅读之前是否有一种用逗号分开的方法? – outkast