手把手教你使用Pandas讀取結(jié)構(gòu)化數(shù)據(jù)
導(dǎo)讀:Pandas是一個基于Numpy庫開發(fā)的更高級的結(jié)構(gòu)化數(shù)據(jù)分析工具,提供了Series、DataFrame、Panel等數(shù)據(jù)結(jié)構(gòu),可以很方便地對序列、截面數(shù)據(jù)(二維表)、面板數(shù)據(jù)進行處理。

DataFrame是我們常見的二維數(shù)據(jù)表,包含多個變量(列)和樣本(行),通常被稱為數(shù)據(jù)框。 Series是一個一維結(jié)構(gòu)的序列,包含指定的索引信息,可以被視作DataFrame中的一列或一行。其操作方法與DataFrame十分相似。 Panel是包含序列及截面信息的三維結(jié)構(gòu),通常被稱為面板數(shù)據(jù)。
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 小蘭 NaNfilepath_or_buffer csv文件的路徑 sep = ',' 分隔符,默認為逗號 header = 0 int類型,0代表第一行為列名,若設(shè)定為None將使用數(shù)值列名 names = [] list,重新定義列名,默認為None usecols = [] list,定義讀取的列,設(shè)定后將縮短讀取數(shù)據(jù)的時間,并減小內(nèi)存消耗,適合讀取大量數(shù)據(jù),默認為None dtype = {} dict,定義讀取列的數(shù)據(jù)類型,默認為None nrows = None int類型,指定讀取數(shù)據(jù)的前n行,默認為None na_values = ... str類型,list或dict,指定缺失值的填充值 na_filter = True bool類型,自動發(fā)現(xiàn)數(shù)據(jù)中的缺失值,默認值為True,若確定數(shù)據(jù)無缺失,可以設(shè)定值為False,以提高數(shù)據(jù)載入的速度 chunksize = 1000 int類型,分塊讀取,當(dāng)數(shù)據(jù)量較大時,可以設(shè)定分塊讀取的行數(shù),默認為None encoding = 'utf-8' str類型,數(shù)據(jù)的編碼,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 小蘭 NaNcsv = 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


劃重點??
干貨直達??
評論
圖片
表情
