当前位置: 首页 > news >正文

win7 iis搭建网站教程seo建站网络公司

win7 iis搭建网站教程,seo建站网络公司,成都广告公司工资一般多少,有没有做兼职的好网站以二进制格式存储(或序列化)数据的一种简单方法是使用 Python 的内置 pickle 模块。同时,pandas 构造的对象都有一个 to_pickle 方法,该方法以 pickle 格式将数据写入磁盘。 我们先把之前示例用到的ex1.csv文件加载到pandas对象中…

以二进制格式存储(或序列化)数据的一种简单方法是使用 Python 的内置 pickle 模块。同时,pandas 构造的对象都有一个 to_pickle 方法,该方法以 pickle 格式将数据写入磁盘。

我们先把之前示例用到的ex1.csv文件加载到pandas对象中,然后将数据以二进制pickle格式写入examples/frame_pickle文件中:

import pandas as pdframe = pd.read_csv("examples/ex1.csv")
frame.to_pickle("examples/frame_pickle")

以上代码会将数据输出到一个frame_pickle文件中:

Pickle 文件通常仅在 Python 中可读。可以直接使用内置的 pickle 来读取存储在文件中的任何 “pickled” 对象,或者用更简单方便的方式来读取,就是 pandas.read_pickle,我们把上面生成的frame_pickle文件加载回来:pd.read_pickle("examples/frame_pickle")  可以打印出来会输出以下内容:

abcdmessage
01234hello
15678world
29101112foo

注意:Pickle 仅推荐作为短期存储格式。问题在于很难保证格式会随着时间的推移而稳定;例如,今天被 picked 的对象可能无法使用更高版本的 library来unpickle 。pandas 会尽可能保持向后兼容性,但在将来,可能需要 “打破” 当前的pickle 格式。

pandas 也内置了对其他几种开源二进制数据格式的支持,例如 HDF5、ORC 和 Apache Parquet。例如,如果安装了 pyarrow  (pip install pyarrow或conda install pyarrow),则可以使用 pandas.read_parquet 读取 Parquet 文件。

fec = pd.read_parquet('datasets/fec/fec.parquet')

fec.head()

输出前5行:

cmte_idcand_idcand_nmcontbr_nmcontbr_citycontbr_stcontbr_zipcontbr_employercontbr_occupationcontb_receipt_amtcontb_receipt_dtreceipt_descmemo_cdmemo_textform_tpfile_num
0C00410118P20002978Bachmann, MichelleHARVEY, WILLIAMMOBILEAL366010290RETIREDRETIRED250.020-JUN-11NoneNoneNoneSA17A736166
1C00410118P20002978Bachmann, MichelleHARVEY, WILLIAMMOBILEAL366010290RETIREDRETIRED50.023-JUN-11NoneNoneNoneSA17A736166
2C00410118P20002978Bachmann, MichelleSMITH, LANIERLANETTAL368633403INFORMATION REQUESTEDINFORMATION REQUESTED250.005-JUL-11NoneNoneNoneSA17A749073
3C00410118P20002978Bachmann, MichelleBLEVINS, DARONDAPIGGOTTAR724548253NONERETIRED250.001-AUG-11NoneNoneNoneSA17A749073
4C00410118P20002978Bachmann, MichelleWARDENBURG, HAROLDHOT SPRINGS NATIONAR719016467NONERETIRED300.020-JUN-11NoneNoneNoneSA17A736166

对于HDF5格式文件的存取,我也将在后面进行学习。鼓励感兴趣的同学自己探索不同的文件格式,以了解它们的速度以及它们对在数据分析中的效果。

一、读取 Microsoft Excel 文件 

pandas 支持使用ExcelFile 类或 pandas.read_excel 函数等读取存储在 Excel 2003(及更高版本)文件中的表格数据。但是在内部,这些工具要使用附加组件包 xlrd 和 openpyxl 分别读取旧式 XLS 和较新的 XLSX 文件。我们可以使用 pip 或 conda分开安装。

pip install openpyxl xlrd

如果使用的是conda开发工具则可以使用

conda install openpyxl xlrd

使用 pandas的ExcelFile,我们通过传递 xls 或 xlsx 文件的路径来创建实例(这里使用的ex1.xlsx是一个二进制文件无法直接打开),例如:

xlsx = pd.ExcelFile("examples/ex1.xlsx")

此xlsx对象可以显示文件中可用工作表名称的列表: xlsx.sheet_names

然后可以通过 parse 将存储在工作表中的数据读入 DataFrame,加载为DataFrame后,就可以方便的进行数据处理分析等。

xlsx.parse(sheet_name="Sheet1")

输出:

Unnamed: 0abcdmessage
001234hello
115678world
229101112foo

 从上面输出可以了解到这个 Excel 表格有一个索引列,所以我们可以使用 index_col 参数来指示,重新编码:

xlsx.parse(sheet_name="Sheet1", index_col=0)

输出: 

abcdmessage
01234hello
15678world
29101112foo

使用pandas.ExcelFile读取excel文件中的多个工作表会更快,但我们也可以使用pandas.read_excel,这个编写代码相对更简单,同样接收文件名作为参数。例如:

frame = pd.read_excel("examples/ex1.xlsx", sheet_name="Sheet1") 

 输出:

Unnamed: 0abcdmessage
001234hello
115678world
229101112foo

要将 pandas 数据写入 Excel 格式,要先创建一个 ExcelWriter,然后使用 pandas 对象的 to_excel 方法将数据写入其中:

writer = pd.ExcelWriter("examples/ex2.xlsx")

frame.to_excel(writer, "Sheet1")

writer.save()

还可以将文件路径传递给 to_excel 而避免使用 ExcelWriter:

frame.to_excel("examples/ex2.xlsx") 

二、使用 HDF5 格式

HDF5 是一种备受推崇的文件格式,用于存储大量科学阵列数据。它以 C 库的形式提供,并且具有许多其他编程语言的接口,包括 Java、Julia、MATLAB 和 Python。HDF5 中的“HDF”代表分层数据格式。每个 HDF5 文件都可以存储多个数据集和支持元数据。与其他更简单的格式相比,HDF5 支持具有多种压缩模式的动态压缩,从而能够更高效地存储具有重复模式的数据。HDF5 是处理不适合内存的数据集的不错选择,因为我们可以方便有效地读取和写入大数组中的小部分。

要开始使用 HDF5 和 pandas,必须首先通过使用 pip 或 conda 安装 PyTables: 

pip install tables或 conda install pytables

注意:PyTables 包在 PyPI 中称为 “tables”,因此如果使用 pip 安装,则必须运行 pip install tables

虽然可以使用 PyTables 或 h5py 库直接访问 HDF5 文件,但 pandas 提供了一个高级接口,可简化 Series 和 DataFrame 对象的存储。HDFStore 类的工作方式类似于字典。例如:

import numpy as np
import pandas as pdframe = pd.DataFrame({"a": np.random.standard_normal(100)})
store = pd.HDFStore("examples/mydata.h5")
store["obj1"] = frame
store["obj1_col"] = frame["a"]
print(store)
store.close()

以上代码会在examples目录中生成一个mydata.h5二进制文件,该文件类似于字典存储了frame中的数据。同时控制台打印出了store对象的类型和该文件存储的位置:

<class 'pandas.io.pytables.HDFStore'>
File path: examples/mydata.h5   

 可以使用相同的类似字典的方式检索 HDF5 文件中包含的对象:

import numpy as np
import pandas as pdframe = pd.DataFrame({"a": np.random.standard_normal(100)})
store = pd.HDFStore("examples/mydata.h5")
store["obj1"] = frame
store["obj1_col"] = frame["a"]
#检索对象
obj1 = store["obj1"]
print(obj1)store.close()

 输出:

                  a
0  -0.116291
1  -1.111014
2  -1.202469
3   0.436760
4  -0.989590
..       ...
95 -1.201137
96  1.113517
97 -0.942226
98 -0.485934
99  0.590444

[100 rows x 1 columns]

HDFStore 支持两种存储架构,即 “fixed” 和 “table” (默认为 “fixed”)。后者通常较慢,但它支持使用特殊语法的查询操作,例如:

import numpy as np
import pandas as pdframe = pd.DataFrame({"a": np.random.standard_normal(100)})
store = pd.HDFStore("examples/mydata.h5")
#默认fixed存储
store["obj1"] = frame
store["obj1_col"] = frame["a"]#设置table存储
store.put("obj2", frame, format="table")
#根据条件查询需要的数据
a = store.select("obj2", where=["index >= 10 and index <= 15"])
print(a)
store.close()

输出:

                   a
10  0.211580
11  0.196123
12 -0.869757
13 -1.543114
14 -0.566423
15  0.078732

还有更方便的方法:DataFrame.to_hdf 和 pandas.read_hdf ,上代码学习:

import numpy as np
import pandas as pdframe = pd.DataFrame({"a": np.random.standard_normal(100)})#将frame中的数据以table存储方式写入mydata.h5
frame.to_hdf("examples/mydata.h5", "obj3", format="table")
#读取前5行。
a = pd.read_hdf("examples/mydata.h5", "obj3", where=["index < 5"])print(a)

输出:

                 a
0 -0.321670
1  0.011807
2  1.048680
3 -1.443384
4  0.312067

 如果需要,可以删除创建的 HDF5 文件,如下所示:

import osos.remove("examples/mydata.h5")

注意:如果需要处理存储在远程服务器(如 Amazon S3 或 HDFS)上的数据,则使用专为分布式存储设计的二进制格式(如 Apache Parquet)可能更合适。

如果是在本地处理大量数据,可以更多的使用 PyTables 和 h5py,但是基于以上的学习内容还不够,需要深入了解他们的功能。由于许多数据分析问题都是 I/O 密集型(而不是 CPU 密集型)的,因此 HDF5 这样的工具使用会极大的提高我们的访问效率。

另外一个要注意的是:HDF5 不是数据库。它非常适合一次写入、多次读取的数据集。虽然我们可以随时将数据添加到HDF5 文件中,但如果多个写入器同时写入,则有可能会造成文件损坏。

http://www.ds6.com.cn/news/30966.html

相关文章:

  • 贵阳做网站电话石家庄网站seo
  • 盐城网站优化seo关键词排优化软件
  • 课程网站的设计个人博客
  • 贺州网站建设电商的推广方式有哪些
  • 做外贸找生意上哪个网站怎么做市场推广
  • 找网上公司做网站2022年免费云服务器
  • 免费自助建站平台系统友情链接检索
  • 网上做网站任务百度网首页官网
  • 网站 域名解析错误西安百度框架户
  • 网站买流量是怎么做的自媒体营销
  • 岳阳网站建设制作广州网站建设
  • 阿里云网站备案时间产品推广策划
  • 网站开发维护计入什么费用佛山网站优化服务
  • 音乐网站建设论文企业网站优化推广
  • 国内jsp网站有哪些百度官网链接
  • 广州手机网站建设费用代运营公司前十名
  • 网站分几个类型优书网首页
  • 响应式网站模板html什么是网络营销策划
  • 深圳好点的网站建设公司优化标题关键词技巧
  • 做一个小公司网站多少钱网络免费推广平台
  • 淘宝返利网站怎么做hao123文件在哪里
  • 汕头做网站优化的公司关键词举例
  • 山东外贸网站建设是什么seo搜索引擎营销工具
  • 中国南昌网站建设自助优化排名工具
  • 如何做产品的网络推广宝鸡seo优化公司
  • 怎么做网站的寄生找谁做百度关键词排名
  • php网站做ios线上运营推广
  • 东莞专业设计网站百度sem竞价推广
  • 微信小程序的制作流程seo专员是干嘛的
  • 响应式网站开发视频企业网站管理系统源码