2019-02-24

今天總結(jié)一下最近工作中遇到的小知識(shí)點(diǎn)和一些小坑:

關(guān)于文件操作方面:

json文件的操作最近工作也經(jīng)常用颜矿,關(guān)于文件讀寫操作py2中出問題最多的地方就在于編碼問題洗贰,不再總結(jié)找岖,數(shù)據(jù)分析三劍客:numpy,pandas,matplotlab,這里寫下pandas的一些用法

pandas是非常實(shí)用的一個(gè)庫(kù),他能讀取各種格式的文件并進(jìn)行操作:


在工作中原來有兩個(gè)文件敛滋,兩個(gè)文件大概有二百四十萬和幾萬的數(shù)據(jù)许布,要在大文件里把小文件有的ID找出來,并生成新的文件绎晃,用常規(guī)的循環(huán)嵌套方法蜜唾,即使開了多進(jìn)程,效率也是極低的(在公司大概跑一整天還容易出問題)庶艾,但是用pandas的方法就大大提高了效率

一袁余、pandas.merge():首先看一下它里面提供的參數(shù)


left 參與合并的左側(cè)DataFrame

right 參與合并的右側(cè)DataFrame

how 連接方式:‘inner’(默認(rèn));還有咱揍,‘outer’颖榜、‘left’、‘right’(類似mysql數(shù)據(jù)庫(kù)的主從表查詢)

on 用于連接的列名,必須同時(shí)存在于左右兩個(gè)DataFrame對(duì)象中掩完,如果位指定蟹地,則以left和right列名的交集作為連接鍵

left_on 左側(cè)DataFarme中用作連接鍵的列

right_on 右側(cè)DataFarme中用作連接鍵的列

left_index 將左側(cè)的行索引用作其連接鍵

right_index 將右側(cè)的行索引用作其連接鍵

sort 根據(jù)連接鍵對(duì)合并后的數(shù)據(jù)進(jìn)行排序,默認(rèn)為True藤为。有時(shí)在處理大數(shù)據(jù)集時(shí)怪与,禁用該選項(xiàng)可獲得更好的性能

suffixes 字符串值元組,用于追加到重疊列名的末尾缅疟,默認(rèn)為(‘_x’,‘_y’).例如分别,左右兩個(gè)DataFrame對(duì)象都有‘data’,則結(jié)果中就會(huì)出現(xiàn)‘data_x’存淫,‘data_y’

用這個(gè)方法針對(duì)上面那個(gè)問題耘斩,先把兩個(gè)文件讀出來,pd.merge("table1","table2",on="entity_id")

how用默認(rèn)的內(nèi)連接即可桅咆,這個(gè)方法不到一分鐘即可完成任務(wù)括授,可見,工欲善其事岩饼,必先利其器荚虚,針對(duì)問題選擇一個(gè)好的方法是多么重要。

如果想根據(jù)兩個(gè)字段提取信息的話在on=“”里面用一個(gè)列表即可籍茧,非常強(qiáng)大

二版述、’對(duì)于數(shù)據(jù)的去重,pd.DataFrame.drop_duplicates()即可寞冯,里面填要根據(jù)那個(gè)字段去重的字段

subset :? 用來指定特定的列渴析,默認(rèn)所有列

keep : {‘first’, ‘last’, False}, 默認(rèn) ‘first’,刪除重復(fù)項(xiàng)并保留第一次出現(xiàn)的項(xiàng)

inplace : boolean, 默認(rèn) False吮龄,是直接在原來數(shù)據(jù)上修改還是保留一個(gè)副本


三俭茧、在操作完數(shù)據(jù)以后,可以用pandas.to_...將結(jié)果保存至任意格式的文件漓帚,上面能讀多少格式母债,這里就能寫多少格式,很強(qiáng)大胰默,需要注意的是在寫入json格式的時(shí)候场斑,注意參數(shù)orient

如果是Series轉(zhuǎn)json,默認(rèn)的orient是’index’牵署,orient可選參數(shù)有 {‘split’,’records’,’index’}

如果是DataFrame轉(zhuǎn)json漏隐,默認(rèn)的orient是’columns’,orient可選參數(shù)有 {‘split’,’records’,’index’,’columns’,’values’}

json的格式如下

split奴迅,樣式為 {index -> [index], columns -> [columns], data -> [values]}

records青责,樣式為[{column -> value}, … , {column -> value}]

index 挺据,樣式為 {index -> {column -> value}}

columns,樣式為 {index -> {column -> value}}

在轉(zhuǎn)成json的時(shí)候一般按行脖隶,即orient=‘index’扁耐,但這樣他會(huì)生成一個(gè)自增索引,這個(gè)不希望被看到产阱,這時(shí)候讀出她來婉称,創(chuàng)建新的json文件存入有自增索引的文件的value即可。

下次繼續(xù)總結(jié)( ^_^ )? ? ??

2019年2月24日16:32:48

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末构蹬,一起剝皮案震驚了整個(gè)濱河市王暗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌庄敛,老刑警劉巖俗壹,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異藻烤,居然都是意外死亡绷雏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門怖亭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來涎显,“玉大人,你說我怎么就攤上這事依许」缀蹋” “怎么了缀蹄?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵峭跳,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我缺前,道長(zhǎng)蛀醉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任衅码,我火速辦了婚禮拯刁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘逝段。我一直安慰自己垛玻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布奶躯。 她就那樣靜靜地躺著帚桩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嘹黔。 梳的紋絲不亂的頭發(fā)上账嚎,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼郭蕉。 笑死疼邀,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的召锈。 我是一名探鬼主播旁振,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼涨岁!你這毒婦竟也來了规求?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤卵惦,失蹤者是張志新(化名)和其女友劉穎阻肿,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沮尿,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丛塌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了畜疾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赴邻。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖啡捶,靈堂內(nèi)的尸體忽然破棺而出姥敛,到底是詐尸還是另有隱情,我是刑警寧澤瞎暑,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布彤敛,位于F島的核電站,受9級(jí)特大地震影響了赌,放射性物質(zhì)發(fā)生泄漏墨榄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一勿她、第九天 我趴在偏房一處隱蔽的房頂上張望袄秩。 院中可真熱鬧,春花似錦逢并、人聲如沸之剧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽背稼。三九已至,卻和暖如春辩恼,著一層夾襖步出監(jiān)牢的瞬間雇庙,已是汗流浹背谓形。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疆前,地道東北人寒跳。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像竹椒,于是被迫代替她去往敵國(guó)和親童太。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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