查看原文
其他

python数据分析包|Pandas-03pandas读写表格数据

pythonic生物人 pythonic生物人 2022-09-11

"pythonic生物人"的第56篇分享


Pandas对表格型文件读取与存储。本文将学到什么

1、pandas.read_csv读取文件

2、快速浏览读入的数据

3、pandas.DataFrame.to_csv写入文件

正文开始啦

  • pandas非常擅长处理表格型数据,pandas读入表格型数据后转化为一个DataFrame对象;
  • pandas提供了一个read_*方法读数据,与之对应的to_*方法存数据;

pandas能处理多种表格数据类型:详细见https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#io。


1、pandas.read_csv读取文件

  • 待读取的表格 'pd_io.txt'
data1 name2 age3
data name age
2018-6-16 李 20
2018-6-13 佳 22
2018-6-16 杨 3
2018-6-11 静 10
2018-6-12 海 29
2018-6-11 贝 51
2018-6-12 cao 36
2018-6-11 liu 28
2018-6-12 君 7
2018-6-12 琪1 31
  • pandas.read_csv读取文件文件脚本
import numpy as np
import matplotlib
import pandas as pd
data = pd.read_csv('./pd_io.txt', sep='\t',header=1, encoding='UTF-8',na_filter=True, nrows=500, na_values='cao')

##参数介绍
#sep,设置文件每行内容的分隔符,此处设置为table分割;
#header,设置列标签,默认设置第一行为标签名,即header=0,此处设置第二行为列标签;
#encoding,文件编码方式;
#na_filter,对于空值要不要当做缺省值(NaN)处理,默认为True;
#nrows,指定读取前多少行,默认读取所有行
#na_values,指定某个值为缺省值,pandas.DataFrame默认的缺省值为:
'''NaN: ‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, 
    ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘<NA>’, ‘N/A’, ‘NA’, 
    ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’.'''
In [81]:data#查看读入的文件数据

2、快速浏览读入的数据

当读入的文件比较大时:info|head|tail|dtypes方法快速浏览数据。

data.info#info查看文件的基本信息

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9#index内容
Data columns (total 3 columns):#列标签内容
data    9 non-null object#data#每一列数据简要介绍
name    9 non-null object#
age     10 non-null int64
dtypes: int64(1), object(2)#数据类型
memory usage: 320.0+ bytes#内存使用情况

data.dtypes#dtypes查看文件的数据类型

3、pandas.DataFrame.to_csv写入文件

data.to_csv("pd_out.txt", sep='\t',header=0, index=0, na_rep='这里是NaN值老铁', float_format='%.3f', columns=['data','name'])
#参数含义
#sep,默认为逗号,这里设置为table;
#header,是否保留列名,默认值为1保留,此处设置为0不保留;
#index,是否保留行索引,默认为1保留,此处设置为0不保留;
#na_rep,缺省值NaN是否替换,默认为空('');
#float_format,浮点型数据设置保留小数位数,这里设置保留三位小数;
#columns,设置要保存的列,传入类型为列表,这里设置保留两列;
  • 写入后的文件'pd_out.txt'
2018-6-16 李
2018-6-13 佳
2018-6-16 杨
2018-6-11 静
2018-6-12 海
2018-6-11 贝
2018-6-12 这里是NaN值老铁
2018-6-11 liu
2018-6-12 君
这里是NaN值老铁 琪1


4、参考资料

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html?highlight=read_csv
https://pandas.pydata.org/pandas-docs/stable/user_guide/cookbook.html?highlight=to_csv


同系列文章

python数据分析包|NumPy-02
python数据分析包|Pandas-01之DataFrame&Series
python数据分析包|Pandas-02之缺失值(NA)处理


原创不易"点赞"、"在看"鼓励下呗

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存