python - Python,ValueError:x 和 y 必须具有相同的第一维问题
问题描述
我试图读取 CSV 文件并绘制它,但是当我尝试绘制 y 变量时,它说该变量只有两个元素,而实际上应该是 6,代码如下:
import numpy as np
import csv
x = np.array([1,2,3,4,5,6])
y1=[]
y2=[]
with open('file.csv', 'r') as csvfile:
plots= csv.reader(csvfile, delimiter=',')
for row in plots:
y1.append(int(row[1]))
print(len(y1))
with open('file.csv', 'r') as csvfile:
plots= csv.reader(csvfile, delimiter=',')
for row in plots:
y2.append(int(row[2]))
print(len(y2))
这会产生 2,2,这是问题所在,它应该产生 6,6,因为两者都有 6 个元素?CSV 文件设置为以下格式:Dishwasher,1,1,1,1,1,1
洗衣机,1,1,0,1,1,0
解决方案
它产生 2,2 因为 中有 2row
秒plots
。本质上,您将第二列存储在 y1 中,将第三列存储在 y2 中。
如果这是您想要的,那么您的代码就可以了,如果您想测量行长,则可以使用以下代码:
import csv
with open('file.csv', 'r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
rows = [row for row in plots]
print(len(rows[0]) - 1) # -1 to exclude title
print(len(rows[1]) - 1)
推荐阅读
- python - 使用 pywinauto 捕获文本
- jmeter - JMETER 4. 0 | JMeter 分布式负载测试 | jp@gc - 步进线程组 | 奴隶机器 | CPU 利用率
- excel - 确定特定范围内的最后一个单元格并填充它,VBA
- android - 同时使用 Android UX SDK 和 Mobile SDK
- python - 用于访问路由的 Django permission_classes 不可调用
- java - Java按共同值合并流
- javascript - Shinyjs 函数未定义?
- html - 移动光标时调整高度表的大小
- node.js - TypeError:fs.writeFilSync 不是函数
- python-3.x - 根据日期时间列排列来自两个不同数据帧的数据