标签分类
技术文章
当前位置:主页 > 计算机编程 > python > NumPy.npy与pandas DataFrame的实例

NumPy.npy与pandas DataFrame实例分析

  • 发布时间:
  • 作者:码农之家原创
  • 点击:52

NumPy.npy与pandas DataFrame的实例

这篇文章主要知识点是关于NumPy.npy,pandas,DataFrame,NumPy.npy与pandas DataFrame的实例,的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

OpenCV算法精解:基于Python与C++
  • 类型:OpenCV算法大小:84 MB格式:PDF出版:电子工业出版社作者:张平
立即下载

更多相关的学习资源可以参阅 程序设计电子书Python电子书、等栏目。

用CSV格式来保存文件是个不错的主意,因为大部分程序设计语言和应用程序都能处理这种格式,所以交流起来非常方便。然而这种格式的存储效率不是很高,原因是CSV及其他纯文本格式中含有大量空白符;而后来发明的一些文件格式,如zip、bzip和gzip等,压缩率则有了显著提升。

首先导入模块:

In [1]: import numpy as np
 
In [2]: import pandas as pd
 
In [3]: from tempfile import NamedTemporaryFile
 
In [4]: from os.path import getsize

这里我们将使用Python标准的NamedTemporaryFile来存储数据,这些临时文件随后会自动删除。

接下来获取CSV文件格式的大小:

In [5]: np.random.seed(42)
 
In [6]: a = np.random.randn(365,4)
 
In [7]: tmpf = NamedTemporaryFile()
 
In [8]: np.savetxt(tmpf,a,delimiter=',')
 
In [9]: print("Size CSV file",getsize(tmpf.name))
Size CSV file 36693

下面首先以NumPy.npy格式来保存该数组,随后载入内存,并检查数组的形状以及.npy文件的大小:

In [10]: tmpf = NamedTemporaryFile()
 
In [11]: np.save(tmpf,a)
 
In [12]: tmpf.seek(0)
Out[12]: 0
 
In [13]: loaded = np.load(tmpf)
 
In [14]: print("Shape",loaded.shape)
Shape (365, 4)
 
In [15]: print("Size .npy file",getsize(tmpf.name))
Size .npy file 11760

.npy文件的大小只有CSV文件的三分之一左右。实际上,利用Python可以存储任意复杂的数据结构。也可以序列化格式来存储pandas的DataFrame或者Series数据结构

在Python中,pickle是将Python对象存储到磁盘或其他介质时采用的一种格式,这个格式化的过程叫做序列化。之后,我们可以从存储器中重建该Python对象,这个逆过程称为反序列化。并非所有的Python对象都能够序列化;不过借助诸如dill之列的模块,可以将更多种类的Python对象序列化。

首先用前面生成的NumPy数组创建一个DataFame,接着用to_pickle()方法将其写入一个pickle对象中,然后用read_pickle()函数从这个pickle对象中检索该DataFrame:

In [16]: tmpf.name
Out[16]: '/tmp/tmpyy06safp'
 
In [17]: df = pd.DataFrame(a)
 
In [18]: df.to_pickle(tmpf.name) 是将DataFrame()写入到/tmp/tmpyy06safp中
 
In [19]: print("Size pickled dataframes",getsize(tmpf.name))
Size pickled dataframes 12250
 
In [20]: tmpf.name
Out[20]: '/tmp/tmpyy06safp'
 
In [21]: print("DF from pickle\n",pd.read_pickle(tmpf.name))
DF from pickle
    0   1   2   3
0 0.496714 -0.138264 0.647689 1.523030
1 -0.234153 -0.234137 1.579213 0.767435
2 -0.469474 0.542560 -0.463418 -0.465730
3 0.241962 -1.913280 -1.724918 -0.562288
4 -1.012831 0.314247 -0.908024 -1.412304
5 1.465649 -0.225776 0.067528 -1.424748
6 -0.544383 0.110923 -1.150994 0.375698
7 -0.600639 -0.291694 -0.601707 1.852278
8 -0.013497 -1.057711 0.822545 -1.220844
9 0.208864 -1.959670 -1.328186 0.196861
10 0.738467 0.171368 -0.115648 -0.301104
11 -1.478522 -0.719844 -0.460639 1.057122
12 0.343618 -1.763040 0.324084 -0.385082
13 -0.676922 0.611676 1.031000 0.931280
14 -0.839218 -0.309212 0.331263 0.975545
15 -0.479174 -0.185659 -1.106335 -1.196207
16 0.812526 1.356240 -0.072010 1.003533
17 0.361636 -0.645120 0.361396 1.538037
18 -0.035826 1.564644 -2.619745 0.821903
19 0.087047 -0.299007 0.091761 -1.987569
20 -0.219672 0.357113 1.477894 -0.518270
21 -0.808494 -0.501757 0.915402 0.328751
22 -0.529760 0.513267 0.097078 0.968645
23 -0.702053 -0.327662 -0.392108 -1.463515
24 0.296120 0.261055 0.005113 -0.234587
25 -1.415371 -0.420645 -0.342715 -0.802277
26 -0.161286 0.404051 1.886186 0.174578
27 0.257550 -0.074446 -1.918771 -0.026514
28 0.060230 2.463242 -0.192361 0.301547
29 -0.034712 -1.168678 1.142823 0.751933
..  ...  ...  ...  ...
335 0.160574 0.003046 0.436938 1.190646
336 0.949554 -1.484898 -2.553921 0.934320
337 -1.366879 -0.224765 -1.170113 -1.801980
338 0.541463 0.759155 -0.576510 -2.591042
339 -0.546244 0.391804 -1.478912 0.183360
340 -0.015310 0.579291 0.119580 -0.973069
341 1.196572 -0.158530 -0.027305 -0.933268
342 -0.443282 -0.884803 -0.172946 1.711708
343 -1.371901 -1.613561 1.471170 -0.209324
344 -0.669073 1.039905 -0.605616 1.826010
345 0.677926 -0.487911 2.157308 -0.605715
346 0.742095 0.299293 1.301741 1.561511
347 0.032004 -0.753418 0.459972 -0.677715
348 2.013387 0.136535 -0.365322 0.184680
349 -1.347126 -0.971614 1.200414 -0.656894
350 -1.046911 0.536653 1.185704 0.718953
351 0.996048 -0.756795 -1.421811 1.501334
352 -0.322680 -0.250833 1.328194 0.556230
353 0.455888 2.165002 -0.643518 0.927840
354 0.057013 0.268592 1.528468 0.507836
355 0.538296 1.072507 -0.364953 -0.839210
356 -1.044809 -1.966357 2.056207 -1.103208
357 -0.221254 -0.276813 0.307407 0.815737
358 0.860473 -0.583077 -0.167122 0.282580
359 -0.248691 1.607346 0.490975 0.734878
360 0.662881 1.173474 0.181022 -1.296832
361 0.399688 -0.651357 -0.528617 0.586364
362 1.238283 0.021272 0.308833 1.702215
363 0.240753 2.601683 0.565510 -1.760763
364 0.753342 0.381158 1.289753 0.673181
 
[365 rows x 4 columns]

以上这篇NumPy.npy与pandas DataFrame的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

以上就是本次给大家分享的全部知识点内容总结,大家还可以在下方相关文章里找到vue项目中使用md5加密以及、 解决axios.interceptors.respon、 spring+springmvc+mybatis整合注、 等python文章进一步学习,感谢大家的阅读和支持。

上一篇:《Python并行编程参考手册》书评、笔记、下载

下一篇:Python pandas模块输出每行中间省略号问题及解决方法

展开 +

收起 -

学习笔记
网友NO.485290

详解windows python3.7安装numpy问题的解决方法

我的是win7的系统,去python官网下载python3.7安装 CMD #打开命令窗口 pip install numpy #在cmd中输入 提示 需要c++14.0, 解决办法: 1, 进入https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud 我的是win10的系统,去python官网下载python3.7安装 CMD #打开命令窗口 pip install numpy #在cmd中输入 提示 需要c++14.0, 解决办法: 1, 进入https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud 根据我的电脑和安装的python我下载最后一个,保存在python目录下,随后cmd进入该目录, 输入pip install numpy‑1.14.1+mkl‑cp37‑cp37m‑win_amd64.whl 即可 C:\Users\12345\AppData\Local\Programs\Python\Python37\Scriptspip install numpy-1.14.3+mkl-cp37-cp37m-win_amd64.whl Processing c:\users\12345\appdata\local\programs\python\python37\scripts\numpy-1.14.3+mkl-cp37-cp37m-win_amd64.whl Installing collected packages: numpy Successfully installed numpy-1.14.3+mkl 同样的 安装pandas 的方法也是一样的 下载后 复制到\Users\12345\AppData\Local\Programs\Python\Python37\Scripts pip install pandas-0.23.0-cp37-cp37m-win_amd64.whl 安装图形界面seaborn 也一样 pip install seaborn-0.8.1-py2.py3-none-any.whl 但是安装matplotlib遇到了 error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools 解决方法是下载 http://1445568.ch1.data.tv002.com:443/down/fd9282f666dce22ef8848171236f456a-3287928/vis……

网友NO.351834

Python打开文件,将list、numpy数组内容写入txt文件中的方法

python保存numpy数据: numpy.savetxt("result.txt", numpy_data); 保存list数据: file=open('data.txt','w')file.write(str(list_data));file.close() 以上这篇Python打开文件,将list、numpy数组内容写入txt文件中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

网友NO.199398

python中找出numpy array数组的最值及其索引方法

下面为大家分享一篇python中找出numpy array数组的最值及其索引方法,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧 在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where,其又是list没有的 首先我们可以得到array在全局和每行每列的最大值(最小值同理) a = np.arange(9).reshape((3,3)) aarray([[0, 1, 2], [9, 4, 5], [6, 7, 8]]) print(np.max(a)) #全局最大8 print(np.max(a,axis=0)) #每列最大[6 7 8] print(np.max(a,axis=1)) #每行最大[2 5 8] 然后用where得到最大值的索引,返回值中,前面的array对应行数,后者对应列数 print(np.where(a==np.max(a)))(array([2], dtype=int64), array([2], dtype=int64)) print(np.where(a==np.max(a,axis=0)))(array([2, 2, 2], dtype=int64), array([0, 1, 2], dtype=int64)) 如果array中有相同的最大值,where会将其位置全部给出 a[1,0]=8 aarray([[0, 1, 2], [8, 4, 5], [6, 7, 8]]) print(np.where(a==np.max(a)))(array([1, 2], dtype=int64), array([0, 2], dtype=int64)) 相关推荐: 怎样取numpy数组指定行列 怎样用numpy找出数组里最大与最小值 以上就是python中找出numpy array数组的最值及其索引方法的详细内容,更多请关注码农之家其它相关文章! ……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明