Python Pandas 中的各種文字資料型別是什麼?
在 python pandas 中(從 1.0.0 版到最新版 1.2.4)儲存文字資料有兩種方法。就此而言,我們可以說 pandas 文字資料有兩種資料型別,即 object 和 StringDtype。
在舊版本的 pandas(1.0)中,只提供 object dtype,在新版本的 pandas 中,建議使用 StringDtype 來儲存所有文字資料。為了克服使用 object dtype 的一些缺點,在 pandas 1.0 版本中引入了 StringDtype。但是,我們仍然可以對文字資料同時使用 object 和 StringDtype。
讓我們舉個例子,在其中使用文字資料建立一個 DataFrame,並檢視 pandas 文字資料中輸出的預設 dtype。
Object dtype
使用文字資料建立 pandas DataFrame 並驗證資料的 dtype。
示例
dict_ = {'A':['a','Aa'],'B':['b','Bb']} # Declaring a Dictionary df = pd.DataFrame(dict_) # creating a DataFrame using Dictionary print(df['A']) # printing column A values print() # giving space between each output print(df['B']) # Printing column B values
解釋
在上面的程式碼中,使用字串資料建立了一個字典並將其分配給 dict_ 變數,透過使用此 dict_ 我們建立了一個 Pandas DataFrame。此 DataFrame 有 2 列和 2 行,並且此 DataFrame 中存在的所有資料都是字串資料。
從上面程式碼的最後 3 行顯示了資料的每一列,在該輸出中,我們可以看到我們資料的 dtype。讓我們在下面驗證輸出。
輸出
0 a 1 Aa Name: A, dtype: object 0 b 1 Bb Name: B, dtype: object
以上輸出表示 DataFrame 中的每一列 A 和列 B 的值,用行空格隔開。在這裡我們可以看到每一列的 dtype 預設表示 object。要定義 StringDtype,我們需要明確地宣告它。
String dtype
要定義 String dtype,我們可以使用 dtype 引數並分配字串或 StringDtype 引數。讓我們在下面看一些例子。
示例
list_ = ['python','sample', 'string'] ds = pd.Series(list_, dtype='string') print(ds)
解釋
在這裡,我們使用帶有字串列表的 pandas series 方法定義了一個 pandas Series。我們將字串引數傳遞給引數 dtype,它會將預設的 object dtype 更改為 string。
輸出
0 python 1 sample 2 string dtype: string
以上程式碼塊是 series 資料的輸出,這裡資料的 dtype 是 string。我們也可以使用 pd.StringDtype() 將 dtype 定義為 string。讓我們再舉一個例子。
示例
data = ['john','dev','philip'] # creating a list ds = pd.Series(data, dtype= pd.StringDtype()) # Series creation ds
對於此示例,我們也使用帶有字串列表的 pandas series 並將 pd.StringDtype 引數定義為引數 dtype。
輸出
0 John 1 Dev 2 Philip dtype: string
上面程式碼塊顯示了將 pd.StringDtype 引數定義為 dtype 引數的輸出。