国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理

這篇具有很好參考價(jià)值的文章主要介紹了【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

????Pandas三種數(shù)據(jù)類型

Pandas提供了三種數(shù)據(jù)類型,分別是SeriesDataFramePanel。Series用于保存一維數(shù)據(jù),DataFrame用于保存二維數(shù)據(jù),Panel用于保存三維數(shù)據(jù)或者可變維數(shù)據(jù)。平時(shí)的表格處理數(shù)據(jù)分析最常用的數(shù)據(jù)類型是SeriesDataFrame,Panel較少用到。

??Series數(shù)據(jù)結(jié)構(gòu)

Series本質(zhì)上是一個(gè)含有索引的一維數(shù)組,其包含一個(gè)左側(cè)自動(dòng)生成的index和右側(cè)的values值,分別使用s.indexs.values進(jìn)行查看。

下面舉個(gè)例子:
【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
下面我們導(dǎo)入數(shù)據(jù):

import pandas  as pd
s=pd.read_excel("D:\A_data\Data_Series.xlsx")
s

運(yùn)行結(jié)果如下:
【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
其中,左側(cè)這一列就是索引列,下面我們分別打印s.index和s.values
【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
index返回一個(gè)index對(duì)象,而values返回一個(gè)array。

?? DataFrame數(shù)據(jù)結(jié)構(gòu)

DataFrame(數(shù)據(jù)框)類似于Excel電子表格,也與R語言中DataFrame的數(shù)據(jù)結(jié)構(gòu)類似。

????DataFrame數(shù)據(jù)的選取

????DataFrame的構(gòu)建

import pandas as pd
df=pd.DataFrame({'x':['a','b','c'],'y':[1,2,3],'z':[4,5,6]})
df

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

????選取多行

方法一:

df.iloc[[0,1],:]

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

df.iloc[[0,2],:]

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
方法二:

df.loc[['0','2'],:]

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

????選取某一列

df.y
df['y']
df.loc[:,['y']]
df.iloc[:,[1]]

????選取多列

方法一:

df.iloc[:,[1,2]]

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
方法二:

df.loc[:,['x','y']]

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
方法三:

df[['x','y']]

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

????單條件過濾

df[df.z>=5]

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

????多條件過濾

df[(df.z>=4)&(df.z<=5)]

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

????獲取列名和行名

df.columns #獲取列名
df.index  #獲取行名

????觀察DataFrame的內(nèi)容

df.info() #打印屬性信息
df.head()# 查看前五行的數(shù)據(jù)
df.tail()#查看后五行的數(shù)據(jù)

??變量的變換

有時(shí)候,我們需要對(duì)DataFrame某列的每個(gè)元素都進(jìn)行運(yùn)算處理,從而產(chǎn)生并添加新的列

我么可以直接對(duì)DataFrame的列進(jìn)行加減乘除某個(gè)數(shù),產(chǎn)生新的列:

df['z1']=df['z']*2

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

apply、applymap和map方法都可以向?qū)ο笾械臄?shù)據(jù)傳遞函數(shù),主要區(qū)別如下:
??apply的操作對(duì)象是DataFrame的某一列(axis=1)或者某一行(axis=0)
??applymap的操作對(duì)象是元素極,作用于每個(gè)DataFrame的每個(gè)數(shù)據(jù)
??map的操作對(duì)象也是元素極,但其是對(duì)Series的每個(gè)數(shù)據(jù)調(diào)用一次函數(shù)

使用apply方法,結(jié)合lambda表達(dá)式,可以為原數(shù)據(jù)框添加新的列:

df['z2']=df.apply(lambda x:x['z']*2 if x['z']==4 else x['z'],axis=1)

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

??表格的拼接

有時(shí)候,我們需要在已有數(shù)據(jù)框的基礎(chǔ)上添加新的行或者列,或者橫向或縱向的表格。此時(shí)我們需要使用pd.concat函數(shù)或者append函數(shù)實(shí)現(xiàn)該功能。

?? 表格的分組操作

DataFrame往往存在某列包含多個(gè)類別的數(shù)據(jù),例如上次博客中的經(jīng)典的葡萄酒數(shù)據(jù)集。我們以此為例。

import pandas as pd
file_path="D:\A_data\Data_wine數(shù)據(jù)\wine.xlsx"
df=pd.read_excel(file_path)
df

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
使用 groupby()函數(shù)進(jìn)行分組操作:

df1=df.groupby('label')
df

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
分組之后的結(jié)果與原來數(shù)據(jù)一樣,這是因?yàn)樵陬悇e標(biāo)簽‘label’這一列,原來的數(shù)據(jù)就是按照0、1、2三種類別的順序排下來的。

????按照分組求均值、求和

求均值:

df2=df.groupby('label').mean()
df2

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
當(dāng)然了,也可以只打出我們想要的某一列的均值:

df2=df.groupby('label').ash.mean()
df2

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
求和:

對(duì)于這個(gè)葡萄酒數(shù)據(jù)集可能求和操作并沒有意義,但在此只是練習(xí):

df2=df.groupby('label').sum()
df2

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
求方差:

df2=df.groupby('label').std()
df2

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

??表格的拼接

有時(shí)候,我們需要在已有數(shù)據(jù)框的基礎(chǔ)上添加新的行或者列,或者橫向或縱向的表格。此時(shí)我們需要使用pd.concat函數(shù)或者append函數(shù)實(shí)現(xiàn)該功能。

其中,axis=0表示沿縱軸連接。axis=1表示沿橫軸連接。
下面我們?cè)倥e一個(gè)例子:
(我覺得2020年國賽數(shù)學(xué)建模國賽C題很不錯(cuò))
首先,我們可以看一下,這是一個(gè)多sheet Excel:
【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

而且,sheet2 、sheet3企業(yè)代號(hào)就是sheet1中企業(yè)的所有發(fā)票信息,也就是說一個(gè)企業(yè)就有很多發(fā)票號(hào)碼。
我們需要整合sheet2,以及sheet3中的信息,將一個(gè)企業(yè)的某一個(gè)指標(biāo)進(jìn)行計(jì)算,然后希望補(bǔ)到heet1中,形成一個(gè)更宏觀的表格。

分析指標(biāo):總進(jìn)項(xiàng)價(jià)稅額:是指企業(yè)在一段時(shí)間內(nèi)購進(jìn)產(chǎn)品的價(jià)值總和,該值越高說明企業(yè)的生產(chǎn)和經(jīng)營規(guī)模就越大,可以作為衡量企業(yè)生產(chǎn)規(guī)模大小的有效指標(biāo)。

我希望根據(jù)sheet2算出這個(gè)指標(biāo),然后添加到sheet1中。
首先導(dǎo)入數(shù)據(jù)。

import pandas as pd
file_path="D:\A_data\Data.2020.C\附件1:123家有信貸記錄企業(yè)的相關(guān)數(shù)據(jù).xlsx"
df=pd.read_excel(file_path,sheet_name=None)
df

這里設(shè)置sheet_name=None,會(huì)將所有的sheet都整合在df中。
【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
將sheet1保存至df1

df1=pd.read_excel(file_path,sheet_name='企業(yè)信息')
df1

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

將我們所要研究的sheet2即“進(jìn)項(xiàng)發(fā)票信息”保存給df2

df2=pd.read_excel(file_path,sheet_name='進(jìn)項(xiàng)發(fā)票信息')
df2

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
根據(jù)sheet2計(jì)算總進(jìn)項(xiàng)價(jià)稅額:

df2_=df2.groupby(['企業(yè)代號(hào)'],as_index=False,sort=False)['價(jià)稅合計(jì)'].sum()
df2_

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
這里注意,設(shè)置參數(shù)sort=False,不然會(huì)改變企業(yè)代號(hào)的排序。
【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
刪除企業(yè)代號(hào)這一列:

df2_.drop(labels='企業(yè)代號(hào)',axis=1,inplace=False)

參數(shù)說明:axis默認(rèn)為0,指刪除行,axis=1,指刪除列。
inplace=False,默認(rèn)該刪除操作不改變?cè)瓟?shù)據(jù),而是返回一個(gè)執(zhí)行刪除操作后的新DataFrame。inplace=True,則會(huì)直接在原數(shù)據(jù)上進(jìn)行刪除操作,且刪除后無法返回。

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

????????**由于我拼接表格,添加新的一列,沒有成功。弄出來是這個(gè)樣子的:**??????
【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter
所以下面我是導(dǎo)出數(shù)據(jù),形成一個(gè)新的excel,然后利用excel復(fù)制粘貼到sheet1中。

df2__.to_excel("D:\A_data\Data.2020.C\進(jìn)項(xiàng)價(jià)稅合計(jì).xlsx")

【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),pandas,人工智能,python,jupyter

還要繼續(xù)努力呀????????加油加油!文章來源地址http://www.zghlxwxcb.cn/news/detail-649714.html

到了這里,關(guān)于【機(jī)器學(xué)習(xí)5】數(shù)據(jù)處理(二)Pandas:表格處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Pandas對(duì)日期數(shù)據(jù)的處理

    Pandas對(duì)日期數(shù)據(jù)的處理

    Pandas對(duì)日期數(shù)據(jù)的處理 Pandas中提供了許多簡(jiǎn)單易用的日期數(shù)據(jù)處理函數(shù),包括將字符串轉(zhuǎn)換成為對(duì)應(yīng)的日期數(shù)據(jù),根據(jù)日期來選取數(shù)據(jù)等等。接下來,讓我們了解一下Pandas中對(duì)日期數(shù)據(jù)的處理。 代碼如下: 運(yùn)行結(jié)果: 代碼如下: 運(yùn)行結(jié)果: pandas可以使用dt對(duì)象獲取datetim

    2024年02月06日
    瀏覽(21)
  • pandas處理雙周數(shù)據(jù)

    處理文件題頭格式 導(dǎo)入源 合并兩列數(shù)據(jù)

    2024年02月04日
    瀏覽(21)
  • pandas數(shù)據(jù)清洗——缺失值處理

    pandas數(shù)據(jù)清洗——缺失值處理

    使用DataFrame對(duì)象的info()方法 原始數(shù)據(jù) ?? 注:NaN為空缺值 ? 查看是否有缺失值 ? ?Non-Null Count列顯示的是每個(gè)索引中不是空缺的個(gè)數(shù) 使用DataFrame的isnull()方法和notnull()方法 1. isnull()方法——判斷是否為空,輸出結(jié)果為True和False,不為NaN時(shí)返回False,為NaN時(shí)返回True。 ? ? 2.

    2024年02月12日
    瀏覽(22)
  • 頭歌Python實(shí)訓(xùn)——pandas數(shù)據(jù)處理

    頭歌Python實(shí)訓(xùn)——pandas數(shù)據(jù)處理

    任務(wù)描述 本關(guān)任務(wù): 超市銷售數(shù)據(jù)如圖所示 建立excel文件“類別銷售”,根據(jù)不同類別建立多個(gè)工作表,將相同類別的銷售信息存放在相應(yīng)的工作表中。 相關(guān)知識(shí) 為了完成本關(guān)任務(wù),你需要掌握:1.讀取excel文件,2.篩選dataframe數(shù)據(jù),3.將數(shù)據(jù)寫入工作簿和工作表 從excel文件讀

    2024年02月04日
    瀏覽(23)
  • pandas由入門到精通-數(shù)據(jù)處理

    文中用S代指Series,用Df代指DataFrame 數(shù)據(jù)清洗是處理大型復(fù)雜情況數(shù)據(jù)必不可少的步驟,這里總結(jié)一些數(shù)據(jù)清洗的常用方法:包括缺失值、重復(fù)值、異常值處理,數(shù)據(jù)類型統(tǒng)計(jì),分箱,隨機(jī)采樣,向量化編碼等方法。每種方法都給出了代碼和實(shí)例,并用表格進(jìn)行總結(jié)。 判斷D

    2024年02月11日
    瀏覽(19)
  • Python Pandas 處理Excel數(shù)據(jù) 制圖

    Python Pandas 處理Excel數(shù)據(jù) 制圖

    目錄 1、餅狀圖? 2、條形統(tǒng)計(jì)圖

    2024年02月11日
    瀏覽(29)
  • 數(shù)據(jù)分析-Pandas如何輕松處理時(shí)間序列數(shù)據(jù)

    時(shí)間序列數(shù)據(jù)在數(shù)據(jù)分析建模中很常見,例如天氣預(yù)報(bào),空氣狀態(tài)監(jiān)測(cè),股票交易等金融場(chǎng)景。此處選擇巴黎、倫敦歐洲城市空氣質(zhì)量監(jiān)測(cè) N O 2 NO_2 N O 2 ? 數(shù)據(jù)作為樣例。 python數(shù)據(jù)分析-數(shù)據(jù)表讀寫到pandas 經(jīng)典算法-遺傳算法的python實(shí)現(xiàn) 經(jīng)典算法-遺傳算法的一個(gè)簡(jiǎn)單例子 大

    2024年01月25日
    瀏覽(26)
  • Python 數(shù)據(jù)處理與分析之 Pandas 庫

    Pandas(Python Data Analysis Library)是一個(gè)流行的 Python 第三方庫,是數(shù)據(jù)處理和數(shù)據(jù)分析中不可或缺的工具之一,用于數(shù)據(jù)處理和數(shù)據(jù)分析。 它提供了高效的數(shù)據(jù)分析方法和靈活且高效的數(shù)據(jù)結(jié)構(gòu)。相比于其他的數(shù)據(jù)處理庫,pandas更適用于處理具有關(guān)系型數(shù)據(jù)或者帶標(biāo)簽數(shù)據(jù)的情

    2024年02月05日
    瀏覽(55)
  • 【011】pandas處理數(shù)據(jù)的作用_#py

    【011】pandas處理數(shù)據(jù)的作用_#py

    上面導(dǎo)入數(shù)組的結(jié)果如下: df1 df2 df3 df4 columns的內(nèi)容,修改前后的 如下: drop=True drop=False 先確定列,再確定行號(hào)。用 iloc 確定行號(hào) 將 df 插入 df3 的首列中 其各個(gè)含義如下: loc column value allow_duplicates 表示插入第幾列 對(duì)插入的列名重命名 插入的列內(nèi)容 允許出現(xiàn)重復(fù)的行名

    2023年04月27日
    瀏覽(14)
  • 第五章Pandas數(shù)據(jù)載入與預(yù)處理

    1:利用下面哪個(gè)可視化繪圖可以發(fā)現(xiàn)數(shù)據(jù)的異常點(diǎn) A.密度圖 B.直方圖 C.盒圖 D.概率圖 知識(shí)點(diǎn)解析: 密度圖:表現(xiàn)與數(shù)據(jù)值對(duì)應(yīng)的邊界或域?qū)ο蟮囊环N理論圖形表示方法 直方圖:直方圖是數(shù)值數(shù)據(jù)分布的精確圖形表示 盒圖:是結(jié)構(gòu)化編程中的一種可視化建模 概率圖:用圖來

    2024年02月05日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包