如果想保存numpy中的数组元素到一个文件中,在这方面,pandas工具的使用就会让工作方便很多。下面通过一个简单的小例子来演示一下。
首先,创建numpy中的数组:
import numpy as npimport pandas as pdarr1 = np.arange(81).reshape(9, 9)print("arr1的type: {}".format(type(arr1)))print("arr1的shape: {}".format(arr1.shape))print(arr1)print(print('-'*100))
输出:
arr1的type:
接着,为了能够使这组数据成为可以让pandas处理的数据,需要通过这个数组创建Dataframe。
data1 = pd.Dataframe(arr1)print("data1的type: {}".format(type(data1)))print("data1的shape: {}".format(data1.shape))print(data1)print(print('-'*100))
输出:
data1的type:
这样,就可以通过pandas中Dataframe的to_csv方法实现数据文件的存储了。具体如下:
# data1.to_csv('路径/文件名.csv')data1.to_csv('路径/data1.csv', index=False)# 注意要把index=False加上,否者index也会被存为一列,再读取时shape会发生变化,多了一列,shape变为(9,10)
读取文件:
data = pd.read_csv('路径/data1.csv')
完整代码:
import numpy as npimport pandas as pdarr1 = np.arange(81).reshape(9, 9)print("arr1的type: {}".format(type(arr1)))print("arr1的shape: {}".format(arr1.shape))print(arr1)print(print('-'*100))data1 = pd.Dataframe(arr1)print("data1的type: {}".format(type(data1)))print("data1的shape: {}".format(data1.shape))print(data1)print(print('-'*100))# data1.to_csv('路径/文件名.csv')data1.to_csv('路径/data1.csv', index=False) # 注意要把index=False加上,否者index也会被存为一列,再读取时shape会发生变化,多了一列,shape变为(9,10)data = pd.read_csv('路径/data1.csv')