1.基本介紹和文件讀寫(xiě)

Pandas介紹


Pandas是基于Numpy的專門(mén)用于數(shù)據(jù)分析的開(kāi)源Python庫(kù)仆潮。

Pandas沒(méi)有使用Python已有的內(nèi)置數(shù)據(jù)結(jié)構(gòu),而是使用率兩種新型的數(shù)據(jù)結(jié)構(gòu):SeriesDataFrame

import pandas as pd
import numpy as np

Pandas和Numpy下載安裝

下載地址:

進(jìn)行Numpy安裝呐籽,先進(jìn)入whl安裝包的存放目錄。比如在C盤(pán):

cd C:\

再使用命令行安裝:

pip install numpy文件名.whl

文件讀寫(xiě)


Pandas提供了一套I/O API的函數(shù):


1.1

讀取數(shù)據(jù)后自動(dòng)生成DataFrame數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)。

讀取方式如:

data = pd.read_csv('filename.csv')
print (type(data))#輸出此數(shù)據(jù)的結(jié)構(gòu)

read_csv()


我們?cè)谧x取文件的時(shí)候曼氛,有許多必要的參數(shù)需要指定,以便我們得到的數(shù)據(jù)是可以直接用于后續(xù)數(shù)據(jù)分析過(guò)程的埃脏。

fixed_df = pd.read_csv('loandata_chi.csv', sep=';', encoding='gbk', 
                       parse_dates=[u'發(fā)貸日期'], index_col=u'發(fā)貸日期', )

在讀取文件的時(shí)候搪锣,我們對(duì)四個(gè)參數(shù)進(jìn)行了設(shè)置:

  • sep=';'。列分割符為';'
  • encoding='gbk'彩掐。編碼方式為'gbk'(默認(rèn)為utf-8
  • parse_dates=[u'發(fā)貸日期']构舟。解析'發(fā)貸日期'列中的日期
  • index_col=u'發(fā)貸日期'。將'發(fā)貨日期'列作為索引

分塊讀取

當(dāng)數(shù)據(jù)文件過(guò)大時(shí)堵幽,需要分塊讀取狗超。逐塊讀取文件需要設(shè)置chunksize(行數(shù)),該方法返回一個(gè)可迭代的對(duì)象TextFileReader,通過(guò)對(duì)這個(gè)對(duì)象進(jìn)行迭代朴下,我們就可以每次讀入部分?jǐn)?shù)據(jù)努咐,然后在每個(gè)部分?jǐn)?shù)據(jù)集上進(jìn)行計(jì)算。

chunker = pd.read_csv('loandata.csv', chunksize=4)
for piece in chunker:
    pass
    # 使用piece做后續(xù)處理

另外還有一個(gè)get_chunk()方法殴胧,它使你可以讀取任意大小的塊:

f = pd.read_csv('loandata.csv', iterator=True)
df.get_chunk(4)

read_csv常見(jiàn)參數(shù)

不只是read_csv()渗稍,其他如read_table()的讀取函數(shù)也大致有以下參數(shù):

參數(shù) 說(shuō)明
sep或delimiter 用于對(duì)行中各字段進(jìn)行拆分的字符序列或正則表達(dá)式
index_col 用作行索引的列編號(hào)或列名佩迟。可以是單個(gè)名稱/數(shù)字或由多個(gè)名稱/數(shù)字組成的列表(層次化索引)
nrows 讀取前幾行數(shù)據(jù)
skiprows 指定跳過(guò)其中幾行
header 用作列名的行號(hào)竿屹。默認(rèn)為0(第一行)报强,如果沒(méi)有header行就應(yīng)該設(shè)置為None
names 用于結(jié)果的列名列表,結(jié)合header=None
usecols 指定讀取其中的幾列拱燃,usecols=['grade']表明只讀grade列
dtype 指定每列數(shù)據(jù)的數(shù)據(jù)類型秉溉。例如 {'a': np.float64, 'b': np.int32}
na_values 一組用于替換NA/NaN的值
encoding 指定字符集編碼類型,通常指定為'utf-8'
iterator 返回一個(gè)TextFileReader 對(duì)象碗誉,以便逐塊處理文件
chunksize 文件塊的大小召嘶,降低內(nèi)存占用

to_csv()


在Pandas中,如果是一個(gè)DataFrame對(duì)象哮缺,可以使用to_csv方法將該數(shù)據(jù)結(jié)構(gòu)存入一個(gè)文件弄跌。

import sys
df = pd.read_csv('loandata.csv', nrows=3, index_col='grade')
df.to_csv('loandata_3.csv')

to_csv方法也存在多個(gè)與read_csv相同的參數(shù)。

在輸出時(shí)蝴蜓,索引也會(huì)一同輸出碟绑,要想取消索引的輸出,則:

df = pd.read_csv('loandata.csv', nrows=3)
df.to_csv(sys.stdout, index=False)

Excel文件的讀寫(xiě)

通常情況下茎匠,讀取Excel文件格仲,需要設(shè)置sheetname。

pd.read_excel('loandata.xls', sheetname='first')
#讀取單個(gè)sheet
df = pd.read_excel('loandata.xls', sheetname=['first', 'second'])
df['second']
#讀取多個(gè)sheet到df中
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诵冒,一起剝皮案震驚了整個(gè)濱河市凯肋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌汽馋,老刑警劉巖侮东,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異豹芯,居然都是意外死亡悄雅,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)铁蹈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)宽闲,“玉大人,你說(shuō)我怎么就攤上這事握牧∪菸埽” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵沿腰,是天一觀的道長(zhǎng)览徒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)颂龙,這世上最難降的妖魔是什么习蓬? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任纽什,我火速辦了婚禮,結(jié)果婚禮上友雳,老公的妹妹穿的比我還像新娘稿湿。我一直安慰自己,他們只是感情好押赊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著包斑,像睡著了一般流礁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上罗丰,一...
    開(kāi)封第一講書(shū)人閱讀 49,837評(píng)論 1 290
  • 那天神帅,我揣著相機(jī)與錄音,去河邊找鬼萌抵。 笑死找御,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绍填。 我是一名探鬼主播霎桅,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼讨永!你這毒婦竟也來(lái)了滔驶?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤卿闹,失蹤者是張志新(化名)和其女友劉穎揭糕,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體锻霎,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡著角,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旋恼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吏口。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蚌铜,靈堂內(nèi)的尸體忽然破棺而出锨侯,到底是詐尸還是另有隱情,我是刑警寧澤冬殃,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布囚痴,位于F島的核電站,受9級(jí)特大地震影響审葬,放射性物質(zhì)發(fā)生泄漏深滚。R本人自食惡果不足惜奕谭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望痴荐。 院中可真熱鬧血柳,春花似錦、人聲如沸生兆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸦难。三九已至根吁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間合蔽,已是汗流浹背击敌。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拴事,地道東北人沃斤。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像刃宵,于是被迫代替她去往敵國(guó)和親衡瓶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容