dataframe修改数据_数据处理进阶pandas入门(一)
前言
NumPy作為數據處理的利器,在對數據進行科學計算、存儲處理大型矩陣等方面為我們帶來了極大的方便,但對于更進一步的數據分析任務,文件操作等方面顯得有些吃力。于是,作為NumPy的進階庫pandas應運而生,在實際應用中,一般NumPy和pandas都是一起出現的,二者再配合Matplotlib可以做很多基礎的數據處理、分析和展示。
經過前幾次的內容,我們已經掌握了NumPy的基本用法,接下來我們將開始進入到pandas的介紹。
pandas基本概念
pandas是基于NumPy構建的一種數據處理工具,被譽為Python中的Excel,主要是為了解決數據分析任務而創建的。pandas中含有大量的數據處理運算相關庫以及一些標準的數據模型,提供了高效操作大型數據集必備的工具。利用pandas提供的函數和方法能使我們快速便捷高效地處理數據。
下面給出了pandas庫的安裝教程以及pandas中文參考文檔。
pandas的安裝教程:http://pandas.pydata.org/pandas-docs/stable/install.html
pandas中文文檔:https://www.pypandas.cn
pandas基本數據結構
pandas主要包括四類數據結構:Series、Time-Series、DataFrame和Panel。
Series:類似于NumPy中的一維ndarray,能保存不同種數據類型,包括字符串、boolean值、數字等。除了可以使用NumPy中一維ndarray可用的函數或方法外,還可以通過索引標簽的方式獲取數據,具有索引的自動對齊功能。
Time-Series:以時間為索引的Series。之所以將它從Series中獨立出來,是因為時間序列在數據處理與分析中是一個很重要的概念,之后講到時再具體介紹。
DataFrame:二維的表格型數據結構。功能非常類似于R語言中的data.frame。從結構上來看,我們可以將DataFrame理解為Series的容器。
Panel:三維數據結構。從結構上來看,我們可以理解為DataFrame的容器。
初識Series和DataFrame
Series和DataFrame是pandas中我們最常用的兩個數據結構,我們分別創建Series和DataFrame來看一下它們的基本結構。
我們首先創建一個一維ndarray,然后通過pandas的Series()函數,將這個一維ndarray傳入,即可生成一個Series,基本用法如下。?
import numpy as npimport pandas as pdarr = np.arange(10)print(arr)print("---------------")eries = pd.Series(arr)print(series)運行結果如下所示,可以看到,相比于NumPy的一維ndarray,Series多了一個默認從0開始的索引。
基本Series
當然,Series的這個默認索引是可以修改的,我們只需要在使用Series()函數的時候多傳入一個index列表參數即可。需要注意的是,index的長度必須要與Series的長度保持一致。?
import numpy as npimport pandas as pdarr = np.arange(10)print(arr)print("---------------")series = pd.Series(arr, index=list('abcdefghij'))print(series)我們傳入一個‘abcdefghij’的列表序列作為index,再次運行, Series的索引就改變了。運行結果如下所示。
改變Series索引
接下來我們看一下DataFrame。與Series類似,由于DataFrame相當于NumPy中二維ndarray的表格型數據結構,我們可以通過NumPy的二維ndarray來創建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()函數,傳入二維ndarray。運行結果如下所示,可以看到,相比于NumPy的二維ndarray,DataFrame的排列格式更像是一個Excel表格,并且行列都具有默認從0開始的索引。
基本DataFrame
同樣的,我們可以修改DataFrame的默認行列索引,在使用DataFrame()函數的時候傳入index列表參數修改行索引,傳入columns列表參數修改列索引。其中,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設置為‘abc’的列表序列,columns設置為‘ABCD’的列表序列,再次運行,默認的行列索引都成功改變了。
修改DataFrame的行列索引
Series和DataFrame相比于NumPy中的一維ndarray和二維ndarray,從結構上來看最大的區別就是多了索引。此外,可以看到,NumPy中的ndarray就像是矩陣,而pandas中的Series和DataFrame更像是表格,這樣的形狀區別也注定了二者的應用場景的不同,在后續的內容中,我們會漸漸體會到兩者的區別。
總結
以上介紹了pandas的基本概念和基本數據結構,簡單熟悉了pandas中兩個重要的數據結構Series和DataFrame以及它們跟NumPy中的ndarray的區別。下次內容我們開始詳細介紹pandas中的Series、DataFrame和其他相關知識。感謝大家的關注,歡迎批評指正,一起交流~
?
總結
以上是生活随笔為你收集整理的dataframe修改数据_数据处理进阶pandas入门(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 格式化 目录,Linux 磁
- 下一篇: python求矩形面积_关于python