Python是一種高級編程語言,被廣泛應用於數據分析、人工智慧、機器學習等領域。在Python的標準庫pandas中,Series是一種核心數據結構,用於存儲一維數組,並且支持基於標籤的索引和數據處理。
一、Series基礎用法
在pandas中,使用Series的代碼示例如下:
import pandas as pd data = pd.Series([1, 2, 3, 4, 5]) print(data)
以上代碼中,pd.Series()是創建Series對象的函數,方括弧內是Series對象的數據。Series對象包含兩部分數據:一維數組Data和與之對應的標籤Index。默認情況下,Index是從0開始的整數序列,但也可以自定義Index。
可以通過訪問Index和Data屬性來獲取Series的Index和Data,如下示例:
import pandas as pd data = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e']) print(data.index) print(data.values)
以上代碼中,pd.Series()函數中通過參數index指定了Series對象的Index為[‘a’, ‘b’, ‘c’, ‘d’, ‘e’],通過訪問Index屬性和values屬性分別輸出了Index和Data。
二、Series數據處理
Series對象支持多種數據處理方式,如數值運算、數據過濾、條件篩選等。下面介紹幾種常用的Series數據處理方法。
1.數值運算
Series對象支持多種數值運算,如加、減、乘、除、求平均值、最大值、最小值等。具體示例如下:
import pandas as pd data = pd.Series([1, 2, 3, 4, 5]) print(data+1) print(data*2) print(data.mean()) print(data.max()) print(data.min())
以上示例中,代碼分別實現了Series對象的加、乘、求平均值、最大值和最小值等操作,可以直接對Series對象進行操作,無需遍歷整個數組。
2.數據過濾
在實際的數據分析中,我們經常需要對數據進行過濾,如篩選出某個時間段的數據、篩選出特定類型的數據等。Series對象支持基於條件的過濾,具體示例代碼如下:
import pandas as pd data = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e']) print(data[data>3])
以上示例代碼中,使用了大於號(>)來篩選出Series對象中大於3的數據。
3.條件篩選
在實際的數據分析中,我們需要根據某個條件來對數據進行篩選,如篩選出特定日期的數據。Series對象支持基於條件的篩選,具體代碼如下:
import pandas as pd from datetime import datetime data = pd.Series([1, 2, 3, 4, 5], index=[datetime(2022,5,1), datetime(2022,5,2), datetime(2022,5,3), datetime(2022,5,4), datetime(2022,5,5)]) print(data['2022-05-02':'2022-05-04'])
以上示例代碼中,使用了切片操作符(:)來按日期範圍篩選出Series對象中的數據。
三、Series與DataFrame的關係
pandas中的DataFrame可以看作是一個表格,其中行代表數據記錄,列代表數據欄位。而Series則可以看作是DataFrame的一列或一行。在DataFrame中,可以通過Series的標籤進行數據的選擇、修改、刪除、插入等操作,下面展示了一些常用DataFrame的操作方法。
1.選擇數據
可以通過DataFrame的loc和iloc方法來按照行列標籤或索引來選擇數據。其中loc方法根據標籤來選擇數據,iloc方法根據索引來選擇數據。具體代碼如下:
import pandas as pd data = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=['a', 'b', 'c']) print(data.loc['a', 'B']) print(data.iloc[0, 1]) print(data.loc[:, 'B']) print(data.iloc[:, 1])
以上示例代碼中,分別對DataFrame對象進行了按標籤和按索引的數據選擇。
2.修改數據
在DataFrame中,也可以按照標籤或索引來修改數據。具體代碼示例如下:
import pandas as pd data = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=['a', 'b', 'c']) data.loc['a', 'B'] = 10 data.iloc[0, 1] = 11 data.loc[:, 'C'] = [15, 16, 17] data.iloc[:, 0] = [12, 13, 14] print(data)
以上示例代碼中,分別對DataFrame對象進行了按標籤和按索引的數據修改,即修改了標籤為’a’的’B’列數據、第一行第二列數據,以及’C’列和第一列數據。
3.刪除數據
在DataFrame中,也可以按照標籤或索引來刪除數據。具體代碼示例如下:
import pandas as pd data = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=['a', 'b', 'c']) data = data.drop('a') print(data)
以上示例代碼中,使用了drop方法按照標籤’a’來刪除了DataFrame對象的一行,即刪除了標籤為’a’的行。
綜上所述,pandas中的Series是一種核心數據結構,常用於存儲一維數組,並支持多種數據處理方法。在DataFrame中,Series可以看作是DataFrame的一列或一行,可以通過Series的標籤進行數據的選擇、修改、刪除、插入等操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/297430.html