我有一个包含10列6行的csv文件,我想将其转换为numpy数组。虽然它加载了,但我现在不能使用数据,我想我错过了一个步骤。在
我现在的代码是这样的
import numpy as np
filename = "test_ioc.csv"
# open file
f=open(filename)
# initialize this
myfile = []
# Convert to numpy array
mat = np.vstack([signal for signal in f.readlines()])
print mat
或者,我也这样做了:
^{pr2}$第一个输出如下:
print a
[['2043l0.wav,0.115,0.169,0.222,0.23,2043l0.wav,0.21,0.169,0.238,0.23']
[ 'dn2001l0.wav,0.105,0.161,0.242,0.222,dn2001l0.wav,0.153,0.176,0.207,0.207']
['2694l0.wav,0.13,0.192,0.33,0.314,2694l0.wav,0.192,0.184,0.207,0.238']
['2641l0.wav,0.123,0.146,0,0.407,2641l0.wav,0.199,0.199,0.199,0.176']
['2622l0.wav,0.284,0.353,0.582,0.582,2622l0.wav,0.268,0.161,0.176,0.184']
['dn2047l0.wav,0.12,0.23,0.368,0.322,dn2047l0.wav,0.369,0.169,0.207,0.222']]
我真的需要把我的行进一步分割成2组4,将每行中的每个数字转换成一个float,但我对python还不熟悉,只想能够对我的数据执行一些基本操作,并使用matplotlib绘制它。谢谢你的帮助!在
好吧,我想出了如何用熊猫来回答我的问题。在
问题是,您读取的是整行数据,而不是用逗号分隔数据,因此最终得到的结果是每个数组有一行,您需要在分隔符上拆分,以便拆分为单个元素:
或者让csv lib执行解析:
^{pr2}$但是有一种简单的方法可以使用^{} 读取文件:
这会给你一个数组:
还有一个^{} ,它提供了更多的选项,包括创建structured array。在
您也可以按列名查找,如pandas、
arr["filename1"]
等。。在相关问题 更多 >
编程相关推荐