讓我們看看 Pandas DataFrame 中將字符串轉換為整數的方法:
方法一:使用Series.astype()方法。
用法:Series.astype(dtype, copy=True, errors=’raise’)
參數:此方法將采用以下參數:
- dtype:要將係列轉換為的數據類型。 (例如 str、float、int)。
- copy:製作 DataFrame /係列的副本。
- errors:轉換為無效數據類型時引發錯誤。例如 dict 到字符串。 ‘raise’ 將引發錯誤,‘ignore’ 將通過而不引發錯誤。
返回:具有更改數據類型的係列。
最有效的方法之一是 Pandas astype()。它用於修改一組數據類型。當 DataFrame 是從 csv 文件創建時導入的列,並且數據類型是自動配置的,這幾次是不應該的。例如,工資列可以作為字符串導入,但我們必須將其轉換為浮點數才能進行操作。
範例1:
Python3
# import pandas library
import pandas as pd
# dictionary
Data = {'Name':['GeeksForGeeks','Python'],
'Unique ID':['900','450']}
# create a dataframe object
df = pd.DataFrame(Data)
# convert string to an integer
df['Unique ID'] = df['Unique ID'].astype(int)
# show the dataframe
print (df)
print("-"*25)
# show the data types
# of each columns
print (df.dtypes)
輸出:
範例2:
Python3
# import pandas library
import pandas as pd
# dictionary
Data = {'Algorithm':['Graph', 'Dynamic Programming',
'Number Theory',
' Sorting And Searching'],
'Problems':['62', '110', '40', '55']}
# create a dataframe object
df = pd.DataFrame(Data)
# convert string to integer
df['Problems'] = df['Problems'].astype(int)
# show the dataframe
print (df)
print("-"*25)
# show the data type
# of each columns
print (df.dtypes)
輸出:
方法二:使用pandas.to_numeric()方法。
用法: pandas.to_numeric(arg, errors=’raise’, downcast=None)
參數:此方法將采用以下參數:
- arg:列表、元組、一維數組或係列。
- errors:{‘ignore’, ‘raise’, ‘coerce’},默認 ‘raise’
->如果是 ‘raise’,那麽無效解析會引發異常
->如果是 ‘coerce’,則無效解析將被設置為 NaN
->如果 ‘ignore’,則無效解析將返回輸入 - downcast:[default None] 如果不是 None,並且如果數據已成功轉換為數字 dtype,則根據以下規則將結果數據向下轉換為可能的最小數字 dtype:
->‘integer’ 或 ‘signed’:最小有符號 int dtype (min.:np.int8)
->‘unsigned’:最小的無符號整數 dtype(最小值:np.uint8)
->‘float’:最小浮點數據類型(最小值:np.float32)
返回值:如果解析成功,則為數字。請注意,返回類型取決於輸入。如果是 Series,則為 Series,否則為 ndarray。
pandas.to numeric() 是在 Pandas 中將參數轉換為數字形式的廣泛使用的方法之一。
範例1:
Python3
# import pandas library
import pandas as pd
# dictionary
Data = {'Name':['GeeksForGeeks','Python'],
'Unique ID':['900','450']}
# create a dataframe object
df = pd.DataFrame(Data)
# convert integer to string
df['Unique ID'] = pd.to_numeric(df['Unique ID'])
# show the dataframe
print (df)
print("-"*30)
# show the data type
# of each columns
print (df.dtypes)
輸出:
範例2:
Python3
# import pandas library
import pandas as pd
# dictionary
Data = {'Algorithm':['Graph', 'Dynamic Programming',
'Number Theory',
' Sorting And Searching'],
'Problems':['62', '110', '40', '55']}
# create a dataframe object
df = pd.DataFrame(Data)
# convert strint to an integer
df['Problems'] = pd.to_numeric(df['Problems'])
# show the dataframe
print (df)
print("-"*30)
# show the data type
# of each column
print (df.dtypes)
輸出:
相關用法
- Pandas DataFrame Integer轉Datetime用法及代碼示例
- Python Pandas DataFrame.fillna()用法及代碼示例
- Pandas DataFrame Index轉Column用法及代碼示例
- Pandas DataFrame Integers轉Strings用法及代碼示例
- Pandas DataFrame Strings轉Floats用法及代碼示例
- Pandas DataFrame Integers轉Floats用法及代碼示例
- Pandas DataFrame Floats轉Strings用法及代碼示例
- Pandas DataFrame Float轉Datetime用法及代碼示例
注:本文由純淨天空篩選整理自shardul_singh_tomar大神的英文原創作品 How to Convert String to Integer in Pandas DataFrame?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。