Pandas数据分析

Pandas提供了一套I/O API的函数从外部读写数据,可以读写csv、txt、html、json等格式的数据,并且Pandas还提供了对接数据库的工具,完整文件读写工具:

FormatType Data Description Reader Writer
text CSV read_csv to_csv
text JSON read_json to_json
text HTML read_html to_html
text Local clipboaed read_clipboaed to_clipboaed
binary MS Excel read_excel to_excel binary

Pandas读取文件后,系统会自动生成DataFrame数据结构的二维表

1
2
3
import pandas as pd
loan_data = pd.read_csv('.csv)
print(type())

read_csv()函数的第一个参数为读取文件的路径,读取后返回一个DataFrame对象。

1
2
3
import pandas as pd
fixed_df=pd.read_csv('.csv,sep=';',encoding='gbk', parse_datas=[u'发贷日期’],index_col=u'发贷日期',)
fixed_df[:5]

sep=’;’。列分隔符为;
encoding=’gbk’。编码方式为gbk(默认utf-8)
parse_dates=[u’发贷日期’]。解析发贷日期列中的日期
index_col=u'发贷日期.将发贷日期列作为索引。

编码问题

对于编码问题而言,先使用open方法读入一行数据

分块读取

内存无法一次存入全量数据,逐块读取文件,需要设置chunksize(行数),该方法返回一个可迭代的对象TextFileReader,通过这个对象进行迭代,我们就可以每次读入部分数据,然后在每个数据集上进行计算,之后再汇总(类似MapReduce思想):

1
2
3
chunker=pd.read_csv('loandata.csv',chunksize=4)
for piece in chunker:
pass

小结一下read_csv()常见参数(类read_table())读取函数也大致有以下参数):

参数 说明
sep或delimiter 用于行中各字段进行拆分的字符序列或正则表达式
index_col 用行索引的列编号或列名。可以是单个名称/数字或有多个名称/数字组成的列表(层次化索引)
nrows 读取前几行数据
skiprows 指定跳过其中几行
header 用作列名的行号。默认为0(第一行),如果没有header行就应该设置为None
names 用于结果的列名列表,结合header=None
usecols 指定读取其中的几列
dtype 指定每列数据的数据类型,例{‘a’:np.float64,’b’:np.int32}
na_values 一组用于替换NA/NaN的值

Pandas数据分析
https://www.prime.org.cn/2020/10/23/Pandas数据分析/
Author
emroy
Posted on
October 23, 2020
Licensed under