我试图读取csv文件以便以块的形式读取文件。我的目标是将每个块存储在numpy数组中。
我保存了将numpy转换为pandas DataFrame的数据,而不是使用:
df.to_csv("train_data.csv",header=None,index=None,compression='gzip')
首先,使用pd.read_csv
reader = pd.read_csv("train_data.csv",iterator=True,header=None,
dtype={0:np.float64,1:np.float64,2:np.float64,3:np.int32,4:np.int32,5:np.int32)
之后,尝试将pandas转换为numpy数组,但由于我有嵌套数组,因此它给出了有关字符串到浮点转换的错误。
每一行都有形状(1,6),它是这样的:
[22. 22. 22.68715685 12.278416...] [22.7081927] [22.59577521 12.05934614 22.80610344 23.107679...] [1, 0, 0, 0, 0, 0, 0, 0, 0] [0] [[0 0 0 ... 0 0 0]\n [0 0 0 ... 0 0 0]\n [0 0 ...]
每行有6个连接数组,形状为:
(1 5), (1), (1,5), (1,8), (1), (144,256)
当我下标到行的第一部分时,它位于引号之间,类型是字符串,也可以在行的末尾看到数组之间有'\n'
个字符。
如何快速将此csv文件转换为numpy数组?