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 |
|
read_csv()
函数的第一个参数为读取文件的路径,读取后返回一个DataFrame对象。
1 |
|
sep=’;’。列分隔符为;
encoding=’gbk’。编码方式为gbk
(默认utf-8
)
parse_dates=[u’发贷日期’]。解析发贷日期
列中的日期index_col=u'发贷日期
.将发贷日期列作为索引。
编码问题
对于编码问题而言,先使用open
方法读入一行数据
分块读取
内存无法一次存入全量数据,逐块读取文件,需要设置chunksize(行数)
,该方法返回一个可迭代的对象TextFileReader
,通过这个对象进行迭代,我们就可以每次读入部分数据,然后在每个数据集上进行计算,之后再汇总(类似MapReduce思想):
1 |
|
小结一下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数据分析/