如果想保存numpy中的数组元素到一个文件中,通过纯Python的文件写入当然是可以实现的,但是总觉得是少了一点便捷性。在这方面,pandas工具的使用就会让工作方便很多。下面通过一个简单的小例子来演示一下。
首先,创建numpy中的数组。In [18]: arr1 = np.arange(100).reshape(10,10)In [19]: arr1Out[19]:array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [10, 11, 12, 13, 14, 15, 16, 17, 18, 19], [20, 21, 22, 23, 24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], [40, 41, 42, 43, 44, 45, 46, 47, 48, 49], [50, 51, 52, 53, 54, 55, 56, 57, 58, 59], [60, 61, 62, 63, 64, 65, 66, 67, 68, 69], [70, 71, 72, 73, 74, 75, 76, 77, 78, 79], [80, 81, 82, 83, 84, 85, 86, 87, 88, 89], [90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
接着,为了能够使这组数据成为可以让pandas处理的数据,需要通过这个数组创建DataFrame。
相关推荐:《Python视频教程》In [20]: data1 = DataFrame(arr1)
这样,就可以通过pandas中DataFrame的to_csv方法实现数据文件的存储了。具体如下:In [21]: data1.to_csv('data1.csv')In [22]: cat data1.csv,0,1,2,3,4,5,6,7,8,90,0,1,2,3,4,5,6,7,8,91,10,11,12,13,14,15,16,17,18,192,20,21,22,23,24,25,26,27,28,293,30,31,32,33,34,35,36,37,38,394,40,41,42,43,44,45,46,47,48,495,50,51,52,53,54,55,56,57,58,596,60,61,62,63,64,65,66,67,68,697,70,71,72,73,74,75,76,77,78,798,80,81,82,83,84,85,86,87,88,899,90,91,92,93,94,95,96,97,98,99
回头看一下被存储的数据格式:In [23]: data1Out[23]: 0 1 2 3 4 5 6 7 8 90 0 1 2 3 4 5 6 7 8 91 10 11 12 13 14 15 16 17 18 192 20 21 22 23 24 25 26 27 28 293 30 31 32 33 34 35 36 37 38 394 40 41 42 43 44 45 46 47 48 495 50 51 52 53 54 55 56 57 58 596 60 61 62 63 64 65 66 67 68 697 70 71 72 73 74 75 76 77 78 798 80 81 82 83 84 85 86 87 88 899 90 91 92 93 94 95 96 97 98 99In [24]: type(data1)Out[24]: pandas.core.frame.DataFrame
从上面的结果看一看出,转换成DataFrame的同时,数据信息增加了行列标题信息。
通过电子表格软件打开csv文件的效果如下: