Python使用Pandas對csv文件進行數(shù)據(jù)處理的方法
今天接到一個新的任務(wù),要對一個140多M的csv文件進行數(shù)據(jù)處理,總共有170多萬行,嘗試了導(dǎo)入本地的MySQL數(shù)據(jù)庫進行查詢,結(jié)果用Navicat導(dǎo)入直接卡死....估計是XAMPP套裝里面全默認配置的MySQL性能不給力,又嘗試用R搞一下吧結(jié)果發(fā)現(xiàn)光加載csv文件就要3分鐘左右的時間,相當(dāng)不給力啊,翻了翻萬能的知乎發(fā)現(xiàn)了Python下的一個神器包:Pandas(熊貓們?),加載這個140多M的csv文件兩秒鐘就搞定,后面的分類匯總等操作也都是秒開,太牛逼了!記錄一下這次數(shù)據(jù)處理的過程:
使用Python3.6.4環(huán)境(對中文支持比較好),安裝Pandas包
pip install pandas
基本使用:
import pandas as pd
import numpy as np #進行具體的sum,count等計算時候要用到的
df=pd.read_csv('d:/snp/nh23.csv') #這里絕對路徑一定要用/,windows下也是如此,不加參數(shù)默認csv文件首行為標(biāo)題行
df.head() #查看引入的csv文件前5行數(shù)據(jù)
df[“播種面積”] #查看指定列,后面跟[:5]查看前5行數(shù)據(jù)

df[“調(diào)查對象代碼”].str[:6] #獲取指定列前6位字符串
df["ADDR"]=df["調(diào)查對象代碼"].str[:6] #將上一行處理后的6位地址碼作為新列ADDR插入

gp=df.groupby(["ADDR","代碼"])["播種面積"].sum() #根據(jù)ADDR和代碼進行分組后對播種面積列進行sum求和計算

pv=df.pivot_table(["播種面積"],index="ADDR",columns="代碼",margins=True,aggfunc=np.sum,fill_value=0) #數(shù)據(jù)透視圖,對播種面積列進行匯總計算,index為行,columns為列,margins=True增加一個全部行匯總,aggfunc=np.sum透視圖中對播種面積值進行sum計算,這里np是開頭import的numpy as np,fill_value=0對空值進行0替換,否則沒有數(shù)據(jù)會顯示NaN

pv.to_csv("d:/snp/test.csv") #寫入csv文件
總結(jié)
以上所述是小編給大家介紹的Python使用Pandas對csv文件進行數(shù)據(jù)處理的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
- python處理csv數(shù)據(jù)的方法
- Python導(dǎo)出數(shù)據(jù)到Excel可讀取的CSV文件的方法
- 利用python將json數(shù)據(jù)轉(zhuǎn)換為csv格式的方法
- 使用python獲取csv文本的某行或某列數(shù)據(jù)的實例
- 利用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ù)的實現(xiàn)實例
相關(guān)文章
Python中列表遍歷使用range和enumerate的區(qū)別講解
這篇文章主要介紹了Python中列表遍歷使用range和enumerate的區(qū)別,在Python編程語言中,遍歷list有range和enumerate方法,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12
Python基于Socket實現(xiàn)的簡單聊天程序示例
這篇文章主要介紹了Python基于Socket實現(xiàn)的簡單聊天程序,結(jié)合簡單實例形式分析了Python聊天程序的客戶端與服務(wù)器端相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-08-08
Python編程語言的35個與眾不同之處(語言特征和使用技巧)
這篇文章主要介紹了Python編程語言的35個與眾不同之處,Python編程語言的語言特征和使用技巧,需要的朋友可以參考下2014-07-07
pycharm中keras導(dǎo)入報錯無法自動補全cannot?find?reference分析
這篇文章主要介紹了pycharm中keras導(dǎo)入報錯無法自動補全cannot?find?reference分析,文章圍繞主題展開分析,需要的小伙伴可以參考一下2022-07-07
Python numpy生成矩陣、串聯(lián)矩陣代碼分享
這篇文章主要介紹了Python numpy生成矩陣、串聯(lián)矩陣代碼分享,具有一定參考價值,需要的朋友可以了解下。2017-12-12
Python爬蟲數(shù)據(jù)處理模塊的安裝使用教程
這篇文章主要為大家介紹了Python爬蟲數(shù)據(jù)處理模塊的安裝使用教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06

