您好,登錄后才能下訂單哦!
小編給大家分享一下Pandas序列怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Pandas序列(Pandas Series)
Pandas是一個開源的BSD(Berkeley Software Distribution)許可庫,為Python編程語言提供了高性能、易于使用的數據結構和數據分析工具。
Pandas提供的數據結構有兩種不同的類型:
Pandas數據框架(Pandas DataFrame)
Pandas序列
我們將在這篇文章中介紹Pandas序列。
注意:建議閱讀之前關于Pandas DataFrame的帖子,然后再繼續閱讀本文,以便更好地了解Pandas序列。
https://towardsdatascience.com/pandas-dataframe-a-lightweight-intro-680e3a212b96
Pandas序列是什么?
從技術上講,Pandas序列是一種能夠保存任何數據類型的一維標記數組。
通俗地說,Pandas序列只不過是excel表中的專欄。如下圖所示,例如人員的姓名、年齡和職位的序列。
Pandas序列
因此,就Pandas DataFrame而言,Pandas序列表示內存中的單個列,它可以是獨立的,也可以屬于Pandas DataFrame。
注意:Pandas序列可以有自己的獨立存在,而不屬于Pandas DataFrame。
如何創建Pandas序列?
可以使用Python列表或NumPy數組創建Pandas序列。必須要記住,與Python列表不同,Pandas序列將始終包含相同類型的數據。這使得NumPy陣列成為創建Pandas序列的更好選擇。
以下使用上述兩種方法來創建Pandas序列:
這是它們的示例
Result of → series_list = pd.Series([1,2,3,4,5,6])
Result of → series_np = pd.Series(np.array([10,20
就像創建Pandas DataFrame時一樣,Pandas序列也會默認生成行索引號,這是從0開始的一系列增量數字。
你可能已經猜到在創建Pandas序列時可以擁有自己的行索引值。我們只需要傳遞索引參數,這些參數采用相同類型的列表或NumPy數組。
以下示例使用NumPy生成的序列:
Result of → series_index = pd.Series(np.array([10,
以下示例使用字符串作為行索引:
Result of → series_index = pd.Series(np.array([10,
我們可以使用Pandas序列的行索引作為:
無論我們在創建系列時是否傳遞了列表或NumPy數組,它都會返回NumPy數組
從python Dictionary創建Pandas序列
正如我們在創建Pandas DataFrame時所看到的,從python詞典創建DataFrame非常容易,因為鍵映射到列名,而值對應于列值列表。
那么在創建Pandas序列時它如何映射?
如果我們從python字典創建一個Pandas序列,則該鍵成為行索引,而該值成為該行索引的值。
舉個例子,讓我們看看具有單個鍵值對的一個簡單的字典會發生什么
這是輸出的示例
Result of → Code block Above
如果字典中的值包含一個項目列表,情況不會改變。列表項仍然是單行索引的一部分,
Result of → series_dict = pd.Series(t_dict)
從Pandas DataFrame中獲取Pandas序列
雖然Pandas序列本身對于數據分析非常有用,并且提供了許多有用的輔助函數,但是大多數情況下,分析要求將迫使我們一起使用Pandas DataFrame和Pandas序列。
讓我們首先創建一個Pandas DataFrame,就像我們在這里創建的一樣:
以下是生成的DataFrame的示例
從字典創建DataFrame的結果
DataFrame提供了兩種訪問列的方法,即使用字典語法df ['column_name']或df.column_name。每次我們使用這些表示來獲得列時,我們都會得到一個Pandas序列。在上面的例子中,我們可以通過訪問列來獲得Pandas序列(即單列)
Pandas序列姓名
Pandas序列年齡
Pandas序列職位
通過迭代DataFrame的列來獲取Pandas序列
如果我們不知道列的名稱怎么辦?
Pandas DataFrame是可迭代的,我們可以迭代各個列來獲得Pandas序列
使用Pandas序列創建DataFrame(獨立或組合)
Pandas DataFrame只是一個序列(1+)的集合。我們可以使用單個Pandas序列或組合多個Pandas序列來生成DataFrame
例如,讓我們從組合series_name和series_age生成一個DataFrame:
令人驚訝的是,生成的DataFrame應該看起來
df_from_series
是的,Pandas序列的行索引成為列,而列成為行索引值。你可以認為這類似于矩陣的轉置。即使我們提供單個Pandas序列來創建DataFrame也是如此:
df_from_series_single
但是,當我們從Pandas序列中刪除列表/數組表示法時,不會發生這種情況。例如
將導致保留Pandas序列的列名和行索引
df_from_series
注意:不幸的是,這僅限于一個序列,因為DataFrame API不會為序列帶來多個參數。
使用Python Dict創建DataFrame行為
當我們將python dictionaries作為數組傳遞以創建DataFrame時,將會觀察到相同的行為。讓我們看看之前創建的t_dict = {'a':1,'b':2,'c':3}
結果DataFrame看起來像
ds
其中鍵表示為列,否則如果我們創建了一個序列,則表示為行索引。
我們甚至可以組合多個t_dict來創建DataFrame
ds
序列輔助函數
就像pandas DataFrame一樣,序列也有多組輔助函數用于數據分析。
請注意,Pandas DataFrame的所有列輔助函數都可以與Pandas序列一起使用。一些例子是
迭代序列
就像python中的許多其他數據結構一樣,可以使用簡單的for循環迭代序列
我們也可以迭代索引的序列行:
以上是“Pandas序列怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。