我尝试用pd.to_csv命令来保存和读取不同大小的矩阵。问题是Pandas以字符串形式保存矩阵,因此当我读取CSV文件时,我不能以数值形式检索矩阵。第一个
pd.to_csv
第一次
read_matrices的每一行都是一个字符串,我希望它们是数值矩阵(ndarray或pdseries)。我想这和我保存数据的方式有关,我试了pd.to_csv()的所有选项都没有结果。有什么想法吗?
read_matrices
pd.to_csv()
2guxujil1#
当append完成时,\n出现,可能是“vector”对象被转换为“simple”。因此,我立即将得到的numpy数组转换为dataframe,然后将其添加到所需的dataframe中。对于数据类型,我使用了experimental type,因为Pandas的空单元格被nan填充,这些列中的整数变成了float。
append
\n
import numpy as np import pandas as pd df = pd.DataFrame(dtype=pd.Int64Dtype()) for Dim in range(3, 10): l = np.random.randint(1, 10, (Dim, Dim)) dfl = pd.DataFrame(l, dtype=pd.Int64Dtype()) df = pd.concat([df, dfl], ignore_index=True) df.to_csv("matrices.csv", index=False) read_matrices = pd.read_csv("matrices.csv", dtype=pd.Int64Dtype()) print(read_matrices) ------------------------------------- 0 1 2 3 4 5 6 7 8 0 9 1 9 <NA> <NA> <NA> <NA> <NA> <NA> 1 3 5 6 <NA> <NA> <NA> <NA> <NA> <NA> 2 6 8 1 <NA> <NA> <NA> <NA> <NA> <NA> 3 2 3 2 1 <NA> <NA> <NA> <NA> <NA> 4 8 4 9 6 <NA> <NA> <NA> <NA> <NA> 5 7 1 6 4 <NA> <NA> <NA> <NA> <NA> 6 2 6 2 4 <NA> <NA> <NA> <NA> <NA> 7 6 4 2 6 6 <NA> <NA> <NA> <NA> 8 2 3 3 1 1 <NA> <NA> <NA> <NA> 9 4 8 2 8 2 <NA> <NA> <NA> <NA> 10 2 4 5 7 3 <NA> <NA> <NA> <NA> 11 7 9 4 2 7 <NA> <NA> <NA> <NA> 12 3 2 2 8 5 2 <NA> <NA> <NA> 13 2 7 5 8 5 4 <NA> <NA> <NA> 14 2 7 2 8 4 4 <NA> <NA> <NA> 15 3 3 1 1 4 8 <NA> <NA> <NA> 16 5 3 4 3 3 6 <NA> <NA> <NA> 17 6 2 7 2 2 2 <NA> <NA> <NA> 18 4 6 5 8 8 3 6 <NA> <NA> 19 6 8 1 2 1 4 7 <NA> <NA> 20 4 4 7 6 1 5 3 <NA> <NA> 21 6 2 4 5 5 8 2 <NA> <NA> 22 3 9 1 1 8 9 4 <NA> <NA> 23 1 6 1 2 5 4 5 <NA> <NA> 24 2 9 9 9 3 8 4 <NA> <NA> 25 5 4 5 7 2 2 1 9 <NA> 26 8 6 7 6 1 2 4 2 <NA> 27 6 1 9 1 5 6 1 3 <NA> 28 8 6 8 6 9 8 9 2 <NA> 29 7 7 5 9 9 9 2 3 <NA> 30 1 8 6 7 4 7 6 9 <NA> 31 8 2 6 6 1 2 9 7 <NA> 32 7 6 7 2 5 4 1 3 <NA> 33 4 8 4 7 2 6 1 3 3 34 6 1 5 4 2 1 8 9 5 35 3 6 3 3 9 9 6 9 3 36 5 3 1 9 5 9 2 4 2 37 6 5 8 5 9 5 4 8 4 38 3 2 2 2 4 8 1 3 1 39 7 3 9 2 5 5 2 6 7 40 9 1 8 3 4 9 3 5 6 41 8 3 4 9 8 8 8 1 8
1条答案
按热度按时间2guxujil1#
当
append
完成时,\n
出现,可能是“vector”对象被转换为“simple”。因此,我立即将得到的numpy数组转换为dataframe,然后将其添加到所需的dataframe中。对于数据类型,我使用了experimental type,因为Pandas的空单元格被nan填充,这些列中的整数变成了float。