有時候到手的資料基本是固定分隔符分隔的幾個檔案,需要重裡面做一些資料統計,比如去重,計算某一列的和,兩個檔案的並集等等,如果能夠像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...