Python 3.x 指定的列太多:应为2列,找到1列

Python 3.x 指定的列太多:应为2列,找到1列,python-3.x,csv,Python 3.x,Csv,试图从我的数据集中输出一个图形,但继续获得标题中所述的ParserError,我在这里检查了类似的问题,但找不到与我的问题相同的问题,也看不到我代码中的问题 df = pd.read_csv('usraa000000.0001', names=['colA','colB'], usecols=[2,504]) x = df['colA'] y = df['colB'] plt.plot(x,y) plt.show() 我真的被这里的问题难住了。数据文件夹包含4列数据。减少“usecols

试图从我的数据集中输出一个图形,但继续获得标题中所述的ParserError,我在这里检查了类似的问题,但找不到与我的问题相同的问题,也看不到我代码中的问题

df = pd.read_csv('usraa000000.0001', names=['colA','colB'], usecols=[2,504])

x = df['colA']
y = df['colB']

plt.plot(x,y) 
plt.show()
我真的被这里的问题难住了。数据文件夹包含4列数据。减少“usecols”也没有任何效果


抱歉,如果我太傻了,我真的很迷茫。

您使用usecols的方式不正确,因此您面临这个问题

usecols用于列的名称,例如['colA','colB']

如果要定义要使用的行,可以根据以下示例使用iloc实现:

data.iloc[0:5] # first five rows of dataframe
data.iloc[:, 0:2] # first two columns of data frame with all rows
data.iloc[[0,3,6,24], [0,5,6]] # 1st, 4th, 7th, 25th row + 1st 6th 7th columns.
data.iloc[0:5, 5:8] #first 5 rows and 5th, 6th, 7th columns of data frame 
您还可以阅读这两个资源

编辑:


usecols使用csv列的名称,例如“colA”,而不是行数。我想这是你的问题。谢谢你的努力!现在我只需要弄清楚为什么它输出的是行而不是列。我试过了,但是它说“:”是无效的语法。你能更新你的问题并提供你的代码片段吗?嗨,我的问题已经解决了。还有什么我可以把这篇文章设置为已回答或类似的吗?有一个问题,你可以勾选接受它。
dfA = pd.read_csv('usraa000000.0001', usecols=['colA'])
dfB = pd.read_csv('usraa000000.0001', usecols=['colB'])
x = dfA.iloc[2:504].tolist()
y = dfB.iloc[2:504].tolist()

plt.plot(x,y) 
plt.show()