手把手教你使用Pandas读取结构化数据
导读:Pandas是一个基于Numpy库开发的更高级的结构化数据分析工具,提供了Series、DataFrame、Panel等数据结构,可以很方便地对序列、截面数据(二维表)、面板数据进行处理。
DataFrame是我们常见的二维数据表,包含多个变量(列)和样本(行),通常被称为数据框。 Series是一个一维结构的序列,包含指定的索引信息,可以被视作DataFrame中的一列或一行。其操作方法与DataFrame十分相似。 Panel是包含序列及截面信息的三维结构,通常被称为面板数据。
import pandas as pd
csv = pd.read_csv('data/sample.csv')
csv
id name scores
0 1 小明 78.0
1 2 小红 87.0
2 3 小白 99.0
3 4 小青 99999.0
4 5 小兰 NaN
filepath_or_buffer csv文件的路径 sep = ',' 分隔符,默认为逗号 header = 0 int类型,0代表第一行为列名,若设定为None将使用数值列名 names = [] list,重新定义列名,默认为None usecols = [] list,定义读取的列,设定后将缩短读取数据的时间,并减小内存消耗,适合读取大量数据,默认为None dtype = {} dict,定义读取列的数据类型,默认为None nrows = None int类型,指定读取数据的前n行,默认为None na_values = ... str类型,list或dict,指定缺失值的填充值 na_filter = True bool类型,自动发现数据中的缺失值,默认值为True,若确定数据无缺失,可以设定值为False,以提高数据载入的速度 chunksize = 1000 int类型,分块读取,当数据量较大时,可以设定分块读取的行数,默认为None encoding = 'utf-8' str类型,数据的编码,Python3默认编码为UTF-8,Python2默认编码为ASCII
csv = pd.read_csv('data/sample.csv',\
usecols=['id','name'],\
nrows=2) #读取'id'和'name'两列,仅读取前两行
csv
id name
0 1 小明
1 2 小红
csvs = pd.read_csv('data/big.csv',chunksize=900)
for i in csvs:
print (i.shape)
(900, 4)
(900, 4)
(900, 4)
(900, 4)
(900, 4)
csvs = pd.read_csv('data/big.csv',chunksize=900)
dat = pd.concat(csvs,ignore_index=True)
dat.shape
(4500, 4)
csv = pd.read_csv('data/sample.csv',
na_values='99999')
csv
id name scores
0 1 小明 78.0
1 2 小红 87.0
2 3 小白 99.0
3 4 小青 NaN
4 5 小兰 NaN
csv = pd.read_csv('data/sample.csv',
encoding='utf-8')
csv
id name scores
0 1 小明 78.0
1 2 小红 87.0
2 3 小白 99.0
3 4 小青 99999.0
4 5 小兰 NaN
划重点👇
干货直达👇
评论