日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

dataframe修改数据_数据处理进阶pandas入门(一)

發(fā)布時(shí)間:2024/9/27 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dataframe修改数据_数据处理进阶pandas入门(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

NumPy作為數(shù)據(jù)處理的利器,在對數(shù)據(jù)進(jìn)行科學(xué)計(jì)算、存儲處理大型矩陣等方面為我們帶來了極大的方便,但對于更進(jìn)一步的數(shù)據(jù)分析任務(wù),文件操作等方面顯得有些吃力。于是,作為NumPy的進(jìn)階庫pandas應(yīng)運(yùn)而生,在實(shí)際應(yīng)用中,一般NumPy和pandas都是一起出現(xiàn)的,二者再配合Matplotlib可以做很多基礎(chǔ)的數(shù)據(jù)處理、分析和展示。

經(jīng)過前幾次的內(nèi)容,我們已經(jīng)掌握了NumPy的基本用法,接下來我們將開始進(jìn)入到pandas的介紹。

pandas基本概念

pandas是基于NumPy構(gòu)建的一種數(shù)據(jù)處理工具,被譽(yù)為Python中的Excel,主要是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。pandas中含有大量的數(shù)據(jù)處理運(yùn)算相關(guān)庫以及一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效操作大型數(shù)據(jù)集必備的工具。利用pandas提供的函數(shù)和方法能使我們快速便捷高效地處理數(shù)據(jù)。

下面給出了pandas庫的安裝教程以及pandas中文參考文檔。

pandas的安裝教程:http://pandas.pydata.org/pandas-docs/stable/install.html

pandas中文文檔:https://www.pypandas.cn

pandas基本數(shù)據(jù)結(jié)構(gòu)

pandas主要包括四類數(shù)據(jù)結(jié)構(gòu):Series、Time-Series、DataFrame和Panel。

Series:類似于NumPy中的一維ndarray,能保存不同種數(shù)據(jù)類型,包括字符串、boolean值、數(shù)字等。除了可以使用NumPy中一維ndarray可用的函數(shù)或方法外,還可以通過索引標(biāo)簽的方式獲取數(shù)據(jù),具有索引的自動對齊功能。

Time-Series:以時(shí)間為索引的Series。之所以將它從Series中獨(dú)立出來,是因?yàn)闀r(shí)間序列在數(shù)據(jù)處理與分析中是一個(gè)很重要的概念,之后講到時(shí)再具體介紹。

DataFrame:二維的表格型數(shù)據(jù)結(jié)構(gòu)。功能非常類似于R語言中的data.frame。從結(jié)構(gòu)上來看,我們可以將DataFrame理解為Series的容器。

Panel:三維數(shù)據(jù)結(jié)構(gòu)。從結(jié)構(gòu)上來看,我們可以理解為DataFrame的容器。

初識Series和DataFrame

Series和DataFrame是pandas中我們最常用的兩個(gè)數(shù)據(jù)結(jié)構(gòu),我們分別創(chuàng)建Series和DataFrame來看一下它們的基本結(jié)構(gòu)。

我們首先創(chuàng)建一個(gè)一維ndarray,然后通過pandas的Series()函數(shù),將這個(gè)一維ndarray傳入,即可生成一個(gè)Series,基本用法如下。?

import numpy as npimport pandas as pdarr = np.arange(10)print(arr)print("---------------")eries = pd.Series(arr)print(series)

運(yùn)行結(jié)果如下所示,可以看到,相比于NumPy的一維ndarray,Series多了一個(gè)默認(rèn)從0開始的索引。

基本Series

當(dāng)然,Series的這個(gè)默認(rèn)索引是可以修改的,我們只需要在使用Series()函數(shù)的時(shí)候多傳入一個(gè)index列表參數(shù)即可。需要注意的是,index的長度必須要與Series的長度保持一致。?

import numpy as npimport pandas as pdarr = np.arange(10)print(arr)print("---------------")series = pd.Series(arr, index=list('abcdefghij'))print(series)

我們傳入一個(gè)‘a(chǎn)bcdefghij’的列表序列作為index,再次運(yùn)行, Series的索引就改變了。運(yùn)行結(jié)果如下所示。

改變Series索引

接下來我們看一下DataFrame。與Series類似,由于DataFrame相當(dāng)于NumPy中二維ndarray的表格型數(shù)據(jù)結(jié)構(gòu),我們可以通過NumPy的二維ndarray來創(chuàng)建DataFrame,基本用法如下。?

import numpy as npimport pandas as pdarr = np.arange(12).reshape(3, 4)print(arr)print("---------------")data_frame = pd.DataFrame(arr)print(data_frame)

通過pandas的DataFrame()函數(shù),傳入二維ndarray。運(yùn)行結(jié)果如下所示,可以看到,相比于NumPy的二維ndarray,DataFrame的排列格式更像是一個(gè)Excel表格,并且行列都具有默認(rèn)從0開始的索引。

基本DataFrame

同樣的,我們可以修改DataFrame的默認(rèn)行列索引,在使用DataFrame()函數(shù)的時(shí)候傳入index列表參數(shù)修改行索引,傳入columns列表參數(shù)修改列索引。其中,index和columns的長度分別必須與DataFrame的行長度和列長度保持一致。?

import numpy as npimport pandas as pdarr = np.arange(12).reshape(3, 4)print(arr)print("---------------")data_frame = pd.DataFrame(arr, index=list('abc'), columns=list('ABCD'))print(data_frame)

我們將index設(shè)置為‘a(chǎn)bc’的列表序列,columns設(shè)置為‘ABCD’的列表序列,再次運(yùn)行,默認(rèn)的行列索引都成功改變了。

修改DataFrame的行列索引

Series和DataFrame相比于NumPy中的一維ndarray和二維ndarray,從結(jié)構(gòu)上來看最大的區(qū)別就是多了索引。此外,可以看到,NumPy中的ndarray就像是矩陣,而pandas中的Series和DataFrame更像是表格,這樣的形狀區(qū)別也注定了二者的應(yīng)用場景的不同,在后續(xù)的內(nèi)容中,我們會漸漸體會到兩者的區(qū)別。

總結(jié)

以上介紹了pandas的基本概念和基本數(shù)據(jù)結(jié)構(gòu),簡單熟悉了pandas中兩個(gè)重要的數(shù)據(jù)結(jié)構(gòu)Series和DataFrame以及它們跟NumPy中的ndarray的區(qū)別。下次內(nèi)容我們開始詳細(xì)介紹pandas中的Series、DataFrame和其他相關(guān)知識。感謝大家的關(guān)注,歡迎批評指正,一起交流~

?

總結(jié)

以上是生活随笔為你收集整理的dataframe修改数据_数据处理进阶pandas入门(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。