python数据读取和分析_Python数据分析(四):数据的获取与处理

在python的学习过程中,我们会经常遇到各种格式的数据加载、处理与存储。今天我们来总结一下常见格式数据的读取与处理。

一、各种各样的文本数据

1.1 CSV与TXT读取

1、csv

csv 文件格式的本质是一种以文本存储的表格数据(使用 Excel 工具即可读写 csv 文件)。csv 文件的每行代表一行数据,每行数据中每个单元格内的数据以逗号隔开。首先我们先来看一下数据长什么样子,这里使用的是jupyter notebook编辑器。

!cat '/opt/jupyter_file/dataset/数据获取与分析/data1.csv'

a,b,c,d,message

1,2,3,4,hello

5,6,7,8,world

9,10,11,12,foo

接下来我们看一下数据的读取:

df=pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data1.csv')

df

或者下面一种:

#需要知道分隔符

pd.read_table('/opt/jupyter_file/dataset/数据获取与分析/data1.csv',sep=',')

我们也可以设置一下参数:

#read_csv读取时会自动识别表头,

#数据有表头时不能设置header为空(默认读取第一行,即header=0);

#数据无表头时,若不设置header,第一行数据会被视为表头,应传入names参数设置表头名称或设置header=None。

pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data1.csv',header=None)

pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data1.csv',names=['a','b','c','d','e'])

还可以设置一下索引列:

names=['a','b','c','d','e']

pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data1.csv',names=names,index_col='e')#制定索引列

相对复杂的索引列:

pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/csv_mindex.csv',index_col=['key1','key2'])

!cat '/opt/jupyter_file/dataset/数据获取与分析/data4.csv'

# hey!

a,b,c,d,message

# just wanted to make things more difficult for you

# who reads CSV files with computers, anyway?

1,2,3,4,hello

5,6,7,8,world

9,10,11,12,foo

pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data4.csv',skiprows=[0,2,3])#跳过索引为0,2,3的行

result=pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data5.csv')

result

pd.isnull(result)

result=pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data5.csv',na_values=['null'])

result

sentinels={'message':['foo','NA'],'something':['two']}

pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data5.csv',na_values=sentinels)#设置为0

这里我总结一下read_csv()常用到的参数

类型

说明

sep

指定分隔符。如果不指定参数,则会尝试使用逗号分隔。

delimiter

定界符,备选分隔符(如果指定该参数,则sep参数失效)

delim_whitespace

指定空格(例如’ ‘或者’ ‘)是否作为分隔符使用,等效于设定sep='\s+'。如果这个参数设定为Ture那么delimiter 参数失效。

header

指定行数用来作为列名,数据开始行数

names

用于结果的列名列表,如果数据文件中没有列标题行,就需要执行header=None。

index_col

用作行索引的列编号或者列名,如果给定一个序列则有多个行索引。

dtype

每列数据的数据类型。

skiprows

需要忽略的行数(从文件开始处算起),或需要跳过的行号列表(从0开始)。

skipfooter

从文件尾部开始忽略。 (c引擎不支持)

nrows

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值