Python使用Pandas對(duì)csv文件進(jìn)行數(shù)據(jù)處理的方法
今天接到一個(gè)新的任務(wù),要對(duì)一個(gè)140多M的csv文件進(jìn)行數(shù)據(jù)處理,總共有170多萬(wàn)行,嘗試了導(dǎo)入本地的MySQL數(shù)據(jù)庫(kù)進(jìn)行查詢,結(jié)果用Navicat導(dǎo)入直接卡死....估計(jì)是XAMPP套裝里面全默認(rèn)配置的MySQL性能不給力,又嘗試用R搞一下吧結(jié)果發(fā)現(xiàn)光加載csv文件就要3分鐘左右的時(shí)間,相當(dāng)不給力啊,翻了翻萬(wàn)能的知乎發(fā)現(xiàn)了Python下的一個(gè)神器包:Pandas(熊貓們?),加載這個(gè)140多M的csv文件兩秒鐘就搞定,后面的分類匯總等操作也都是秒開,太牛逼了!記錄一下這次數(shù)據(jù)處理的過(guò)程:
使用Python3.6.4環(huán)境(對(duì)中文支持比較好),安裝Pandas包
pip install pandas
基本使用:
import pandas as pd import numpy as np #進(jìn)行具體的sum,count等計(jì)算時(shí)候要用到的 df=pd.read_csv('d:/snp/nh23.csv') #這里絕對(duì)路徑一定要用/,windows下也是如此,不加參數(shù)默認(rèn)csv文件首行為標(biāo)題行 df.head() #查看引入的csv文件前5行數(shù)據(jù) df[“播種面積”] #查看指定列,后面跟[:5]查看前5行數(shù)據(jù)
df[“調(diào)查對(duì)象代碼”].str[:6] #獲取指定列前6位字符串
df["ADDR"]=df["調(diào)查對(duì)象代碼"].str[:6] #將上一行處理后的6位地址碼作為新列ADDR插入
gp=df.groupby(["ADDR","代碼"])["播種面積"].sum() #根據(jù)ADDR和代碼進(jìn)行分組后對(duì)播種面積列進(jìn)行sum求和計(jì)算
pv=df.pivot_table(["播種面積"],index="ADDR",columns="代碼",margins=True,aggfunc=np.sum,fill_value=0) #數(shù)據(jù)透視圖,對(duì)播種面積列進(jìn)行匯總計(jì)算,index為行,columns為列,margins=True增加一個(gè)全部行匯總,aggfunc=np.sum透視圖中對(duì)播種面積值進(jìn)行sum計(jì)算,這里np是開頭import的numpy as np,fill_value=0對(duì)空值進(jìn)行0替換,否則沒有數(shù)據(jù)會(huì)顯示NaN
pv.to_csv("d:/snp/test.csv") #寫入csv文件
總結(jié)
以上所述是小編給大家介紹的Python使用Pandas對(duì)csv文件進(jìn)行數(shù)據(jù)處理的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- python處理csv數(shù)據(jù)的方法
- Python導(dǎo)出數(shù)據(jù)到Excel可讀取的CSV文件的方法
- 利用python將json數(shù)據(jù)轉(zhuǎn)換為csv格式的方法
- 使用python獲取csv文本的某行或某列數(shù)據(jù)的實(shí)例
- 利用Python如何將數(shù)據(jù)寫到CSV文件中
- Python 中導(dǎo)入csv數(shù)據(jù)的三種方法
- Python將列表數(shù)據(jù)寫入文件(txt, csv,excel)
- python數(shù)據(jù)處理之如何選取csv文件中某幾行的數(shù)據(jù)
- python讀寫數(shù)據(jù)讀寫csv文件(pandas用法)
- Python從csv文件中讀取數(shù)據(jù)及提取數(shù)據(jù)的方法
- Python 利用CSV模塊處理數(shù)據(jù)的實(shí)現(xiàn)實(shí)例
相關(guān)文章
python中l(wèi)ist*n生成多維數(shù)組與for循環(huán)生成多維數(shù)組的區(qū)別說(shuō)明
這篇文章主要介紹了python中l(wèi)ist*n生成多維數(shù)組與for循環(huán)生成多維數(shù)組的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05springboot aop方式實(shí)現(xiàn)接口入?yún)⑿r?yàn)的示例代碼
在實(shí)際開發(fā)項(xiàng)目中,我們常常需要對(duì)接口入?yún)⑦M(jìn)行校驗(yàn),本文主要介紹了springboot aop方式實(shí)現(xiàn)接口入?yún)⑿r?yàn)的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08Python中OpenCV實(shí)現(xiàn)查找輪廓的實(shí)例
本文將結(jié)合實(shí)例代碼,介紹 OpenCV 如何查找輪廓、獲取邊界框。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06Python實(shí)戰(zhàn)之異步獲取中國(guó)天氣信息
這篇文章主要介紹了如何利用Python爬蟲異步獲取天氣信息,用的API是中國(guó)天氣網(wǎng)。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手試一試2022-03-03python編寫softmax函數(shù)、交叉熵函數(shù)實(shí)例
這篇文章主要介紹了python編寫softmax函數(shù)、交叉熵函數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06face_recognition庫(kù)在python的安裝
這篇文章主要介紹了face_recognition庫(kù)在python的安裝,解決了一些沒有安裝時(shí)出現(xiàn)的一些錯(cuò)誤,需要的朋友可以參考下2021-04-04