为了账号安全,请及时绑定邮箱和手机立即绑定

从多个 csv 文件创建二维矩阵

从多个 csv 文件创建二维矩阵

精慕HU 2021-06-11 06:05:54
我正在使用 Python3,我想从几个 CSV 文件加载数据。 每个 CSV(一个测量值)有 3 列(3 个不同的物理量)。我想将每个数量加载到 3 个单独的变量上。对于一个 CSV 文件,这非常简单,我使用了:TIME,CH1,CH2 = loadtxt(file_path,usecols=(3,4,5),delimiter=',',skiprows=2,unpack=True)它工作正常。现在我想扩展这个过程,以便我可以加载几个 CSV 文件。每个数组都是二维的,每一列代表一个 CSV 文件。我将有 3 个二维数组,而不是有几个带有三个变量的 CSV,这对于数据分析来说更加方便。我想我可以尝试这样的事情:TIME = matrix(zeros((20480,len(file_path)))) # 20480 length of each columnCH1 = matrix(zeros((20480,len(file_path)))) # len(file_path) number of CSV filesCH2 = matrix(zeros((20480,len(file_path))))for k in range(0,len(file_path)): # reading each CSV file    TIME[:,k],CH1[:,k],CH2[:,k] = loadtxt(file_path[k],usecols=(3,4,5),delimiter=',',skiprows=2,unpack=True)但它告诉我:ValueError: could not broadcast input array from shape (20480) into shape (20480,1)最后,我希望变量看起来像这样:TIME = matrix([[0., 0., 0.],               [0., 0., 0.],               [0., 0., 0.],               ...,               [0., 0., 0.],               [0., 0., 0.],               [0., 0., 0.]])每一列来自一个不同的 CSV 文件。我认为这是一个很常见的问题,但我并不真正了解数组在 Python 中的工作原理。我从 Matlab 得到了这个想法,它非常简单,但在这里我不知道为什么用 TIME[:][:] 索引数组不起作用。你知道我怎么做吗?谢谢。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 242 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号