pandas操作txt檔案的方便之處

2021-09-13 15:17:17 字數 2641 閱讀 7622

有時候到手的資料基本是固定分隔符分隔的幾個檔案,需要重裡面做一些資料統計,比如去重,計算某一列的和,兩個檔案的並集等等,如果能夠像sql一樣操作txt檔案就好了,這就是pandas帶來的好處

示例檔案資料 papa.txt

paxi_id grade

1 50

2 50

3 100

4 200

3 100

5 100

安裝好jupyter ,在檔案目錄中執行jupyter notebook,在開啟的瀏覽器介面上,選擇python執行

在開啟的介面上,執行載入的命令

import pandas #引入pandas

papa=pandas.read_csv('papa.txt',sep='\t') #載入papa.txt,指定它的分隔符是 \t

papa.head() #顯示資料的前幾行

可以看到載入的結果直觀的用**展示

執行指令如下

rownum=papa.shape[0] #不包括表頭

colnum=papa.columns.size

結果為

執行指令如下

upapa=papa.drop_duplicates(['paxi_id'])
結果如下

執行指令如下

upaxiid=papa['paxi_id'].unique()

print("upaxiid:",upaxiid)

totalupaxiidnum=upaxiid.size

print("num:",totalupaxiidnum)

執行結果如下

執行指令如下

papa['grade'].sum()
結果如下

執行指令如下

papa[ ( papa['grade'] == 50 ) | ( papa['grade'] == 100 ) ]
結果如下

執行指令如下

gpapa=papa.groupby('grade').size()
結果如下

執行指令如下

v=gpapa[50]+gpapa[100]

print("兩個的和:",v)

print("總和:",gpapa.sum())

結果如下

執行指令如下

import matplotlib.pyplot as plt

fig=plt.figure()

gpapa.plot(kind='bar',grid=true) #bar 和 barh 能切換x軸,y軸

plt.show() #在需要顯示的時候呼叫,會一次把所有的圖都畫出來

結果如下

另乙個檔案為xixi.txt

paxi_id    type

1 3

2 4

3 3

4 4

5 3

執行指令如下

xixi=pandas.read_csv('xixi.txt',sep='\t')

uxixi=xixi.drop_duplicates(['paxi_id'])

pandas.merge(upapa,uxixi,on=['paxi_id']) #join

結果如下

有教程~

python中pandas讀取txt檔案注意事項

語法 pandas.read table 引數 filepath or buffer 檔案路徑或者輸入物件 sep 分隔符,預設為製表符 names 讀取哪些列以及讀取列的順序,預設按順序讀取所有列 engine 檔案路徑包含中文的時候,需要設定engine python encoding 檔案編碼...

txt檔案讀操作

名稱 product.txt 檔案內容 1 f 開啟檔案product.txt 2 f.readlins 讀出檔案的所有行,每一行乙個字串,例如 iphone 9929 n 3 lines 由每一行變成的字串組成的列表 4 line lines的元素,即上面的字串。5 列印的結果是字串中的內容,即 ...

C 操作txt檔案

view code 1 region 取得乙個文字檔案的default編碼方式。2 3 取得乙個文字檔案的default編碼方式。4 5 檔名。6 7public static encoding getencoding string filename 8 11 endregion 12 region...