1、加載pandas模塊并讀取文件
請(qǐng)注意”讀取“只是一個(gè)動(dòng)作,并不展示文件。其中的”sheet_name“支持對(duì)多標(biāo)簽頁工作簿進(jìn)行操作讀取,即可引用頁簽名,也可以設(shè)為0、1、2,分別對(duì)應(yīng)排序中的第1、2、3張工作表。
import pandas as pd #加載用于讀寫excel的pandas模塊,具體打開格式請(qǐng)參考下一行
data1 = pd.read_excel('E:\\example.xlsx',sheet_name = '5月',header = None,enconding = 'utf-8',names = ['date','channel','talks','questiones'])
data1
5月份個(gè)商數(shù)據(jù)(示例).JPG
data1 = pd.read_excel('E:\\example.xlsx',sheet_name = '6月',header = None,enconding = 'utf-8',names = ['date','channel','talks','questiones'])
data1
6月份個(gè)商數(shù)據(jù)(示例).JPG
2、顯示數(shù)據(jù)整體結(jié)構(gòu)
如下圖,即該數(shù)據(jù)有10行4列
data1.shape #顯示數(shù)據(jù)整體結(jié)構(gòu)
數(shù)據(jù)整體結(jié)構(gòu).JPG
3、顯示指定列內(nèi)容
data1.loc[:,'talks':'questiones'] #顯示指定列內(nèi)容,但不刪除該列數(shù)據(jù)
顯示指定列內(nèi)容.JPG
4、去除重復(fù)項(xiàng)
(1)去除指定列重復(fù)數(shù)據(jù),并保留該列第一行重復(fù)值
data1.drop_duplicates(['talks']) #去除指定列重復(fù)數(shù)據(jù),并保留該列第一個(gè)數(shù)據(jù),如僅保留6月1日的“talks”數(shù)據(jù)。
去除指定列重復(fù)數(shù)據(jù),并保留該列第一個(gè)數(shù)據(jù).JPG
(2)去除指定列重復(fù)數(shù)據(jù),且保留最后一行重復(fù)值
data1.drop_duplicates(['talks'],keep = 'last') #去除指定列重復(fù)數(shù)據(jù),且保留最后一行重復(fù)值。最新使用的屬性為 keep = 'last'
去除指定列重復(fù)數(shù)據(jù),且保留最后一行重復(fù)值.JPG
5、刪除指定列數(shù)據(jù)
data1.drop(['talks'],axis = 1) #刪除指定列數(shù)據(jù),axis參數(shù)1表示橫軸逐個(gè)操作
刪除'talks'列數(shù)據(jù).JPG
6、刪除指定列數(shù)值
data1.loc[-(data1['talks']== 101)] #刪除指定列數(shù)值,如本操作刪除 talks列中值為 101 這一行
刪除 talks列中值為 101的列.JPG
7、更改列名
data1.rename(columns = {'talks':'users'},inplace = True) #更改某列名稱
data1
'talks'列更改為'users'列.JPG
8、隨機(jī)取某幾行數(shù)
data1.sample(3) #隨機(jī)取3行數(shù)
隨機(jī)取3行數(shù).JPG
9、列表顯示某列唯一值
data1['users'].unique() #輸出指定列中的唯一值,顯示數(shù)據(jù)類型
'users'列唯一值.JPG
10、統(tǒng)計(jì)某列值出現(xiàn)頻次
data1['users'].value_counts() #統(tǒng)計(jì)指定列各值出現(xiàn)頻率,顯示數(shù)據(jù)類型
統(tǒng)計(jì)'uesrs'列各值出現(xiàn)頻次.JPG
11、分組統(tǒng)計(jì)
注意,這里面同樣用到了‘sort’屬性,如果是'False',則為升序統(tǒng)計(jì),但是為'True'時(shí)也不是降序統(tǒng)計(jì),這個(gè)還不明白其中的道理。
bins = [200,202,204,206,208,210] #對(duì) questiones 進(jìn)行分組統(tǒng)計(jì)
group = ['200-202','202-204','204-206','206-208','208-210']
grouping = pd.cut(data1['questiones'],bins,labels = group)
pd.value_counts(grouping,sort = False)
分組統(tǒng)計(jì).JPG
12、最值
(1)最大值
data1['users'].max() #求某列最大值
(2)最小值
data1['users'].min() #求某列最小值
13、排列
data1.sort_values(by = 'questiones',ascending = False) #將數(shù)據(jù)按照指定列進(jìn)行升序排序,ascending = True則為升序排列
按照'questiones'列降序排列.JPG
13、整體統(tǒng)計(jì)描述
data1.describe() #對(duì)數(shù)據(jù)進(jìn)行各類指標(biāo)統(tǒng)計(jì)
描述各數(shù)值列的數(shù)值個(gè)數(shù)、平均值、最大最小值等統(tǒng)計(jì)特性.JPG