Python使用pandas處理CSV檔案

2021-10-04 04:37:10 字數 1503 閱讀 9827

python中有許多方便的庫可以用來進行資料處理,尤其是numpy和pandas,再搭配matplot畫圖專用模組,功能十分強大。

csv(comma-separated values)格式的檔案是指以純文字形式儲存的**資料,這意味著不能簡單的使用excel**工具進行處理,而且excel**處理的資料量十分有限,而使用pandas來處理資料量巨大的csv檔案就容易的多了。

我用到的是自己用其他硬體工具抓取得資料,硬體環境是在linux平台上搭建的,當時資料是在執行指令碼後直接輸出在terminal裡的,資料量十分龐大,為了儲存獲得的資料,在linux下使用了資料流重定向,把資料全部儲存到了文字檔案中,形成了乙個本地csv檔案。

pandas讀取本地csv檔案並設定dataframe(資料格式)

import pandas as pd

import numpy as np

df=pd.read_csv(

'filename'

,header=

none

,sep=

' ')

#filename可以直接從碟符開始,標明每一級的資料夾直到csv檔案,header=none表示頭部為空,sep=' '表示資料間使用空格作為分隔符,如果分隔符是逗號,只需換成 『,』即可。

print df.head(

)print df.tail(

)#作為示例,輸出csv檔案的前5行和最後5行,這是pandas預設的輸出5行,可以根據需要自己設定輸出幾行的值

中顯示了我本地資料的前5行與最後5行,最前面一列沒有標號的是行號,資料一共有13列,標號從0到12,一行顯示不完全,在第9列以後換了行,並且用反斜槓「\」標註了出來。

2023年4月28日更新

使用pandas直接讀取本地的csv檔案後,csv檔案的列索引預設為從0開始的數字,重定義列索引的語句如下:

import pandas as pd

import numpy as np

df=pd.read_csv(

'filename'

,header=

none

,sep=

' ',names=

["week"

,'month'

,'date'

,'time'

,'year'

,'name1'

,'freq1'

,'name2'

,'freq2'

,'name3'

,'data1'

,'name4'

,'data2'])

print df

此時列印出的檔案資訊如下,列索引已經被重新命名:

Python 使用Pandas進行資料預處理

利用pandas庫中的get dummies函式對類別型特徵進行啞變數處理。get dummies語法 pandas.get dummies data,prefix none,prefix sep dummy na false,columns none,sparse false,drop first...

pandas中to datetime 時間處理

pandas.to datetime arg,errors raise utc none,format none,unit none pandas通常用於處理成組日期,不管這些日期是dataframe的軸索引還是列,to datetime方法可以解析多種不同的日期表示形式。1 獲取指定的時間和日期 ...

python初探 pandas使用

pandas 是基於numpy 的一種工具,該工具是為了解決資料分析任務而建立的。pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。pandas提供了大量能使我們快速便捷地處理資料的函式和方法,pandas為時間序列分析提供了很好的支援。series 和 data...