有時候到手的數據基本是固定分隔符分隔的幾個文件,須要重裏面作一些數據統計,好比去重,計算某一列的和,兩個文件的並集等等,若是可以像sql同樣操做txt文件就行了,這就是pandas帶來的好處html
示例文件數據 papa.txtpython
paxi_id grade
1 50
2 50
3 100
4 200
3 100
5 100
複製代碼
安裝好jupyter ,在文件目錄中運行jupyter notebook,在打開的瀏覽器界面上,選擇python運行 sql
import pandas #引入pandas
papa=pandas.read_csv('papa.txt',sep='\t') #加載papa.txt,指定它的分隔符是 \t
papa.head() #顯示數據的前幾行
複製代碼
能夠看到加載的結果直觀的用表格展現瀏覽器
運行指令以下bash
rowNum=papa.shape[0] #不包括表頭
colNum=papa.columns.size
複製代碼
結果爲ui
運行指令以下spa
uPapa=papa.drop_duplicates(['paxi_id'])
複製代碼
結果以下3d
運行指令以下code
uPaxiId=papa['paxi_id'].unique()
print("uPaxiId:",uPaxiId)
totalUPaxiIdNum=uPaxiId.size
print("num:",totalUPaxiIdNum)
複製代碼
運行結果以下cdn
運行指令以下
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
複製代碼
結果以下
period={'1':100,'2':200,'3':150}
import matplotlib.pyplot as plt
fig=plt.figure()
plt.bar(range(len(period)),period.values(),align='center')
plt.xticks(range(len(period)),list(period.values()))
plt.show()
複製代碼