2020-06-22 pandas讀寫excel常用操作

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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容