pandas是Python中一個非常強大的數據分析庫,其操作數據的能力非常強大並且易於使用。
一、astype方法
astype方法是pandas中最常用也是最基礎的方法之一,可以將指定列的數據類型全部轉換為其它類型。
import pandas as pd
import numpy as np
# 創建一個DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [2.0, 3.0, np.nan, 5.0],
'C': ['john', 'jane', 'mary', 'peter']
})
# 查看數據類型
print(df.dtypes)
# 將列B轉換為int類型
df['B'] = df['B'].astype(int)
# 查看數據類型
print(df.dtypes)
上述代碼中,我們使用astype將列B的float類型轉換為了int類型
二、to_numeric方法
to_numeric方法可以將指定列的數據轉換為float或int類型,同時還可以轉換含有特殊字元的數據,如『1,000』。
import pandas as pd
# 創建一個DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': ['1000', '2000', '3000', '4000']
})
# 查看數據類型
print(df.dtypes)
# 將列B轉換為int類型
df['B'] = pd.to_numeric(df['B'])
# 查看數據類型
print(df.dtypes)
上述代碼中,我們使用to_numeric將列B的字元串類型轉換為了int類型
三、infer_objects方法
infer_objects方法可以根據數據的實際情況自動推斷數據類型,並進行類型轉換。
import pandas as pd
import numpy as np
# 創建一個DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [2.0, 3.0, np.nan, 5.0],
'C': ['john', 'jane', 'mary', 'peter']
})
# 查看數據類型
print(df.dtypes)
# 轉換數據類型
df = df.infer_objects()
# 查看數據類型
print(df.dtypes)
上述代碼中,我們使用infer_objects方法自動推斷數據類型並進行類型轉換。
四、pd.Series和pd.DataFrame中的構造函數
在創建pd.Series和pd.DataFrame時,我們可以使用構造函數指定數據類型,例如:
import pandas as pd
# 創建一個Series,數據類型為float
s = pd.Series([1.0, 2.0, 3.0], dtype=float)
# 創建一個DataFrame,數據類型為int
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6]
}, dtype=int)
五、astype()指定多個數據類型轉換
在進行數據類型轉換時,可以使用astype()方法一次指定多個需要轉換的數據類型。
import pandas as pd
import numpy as np
# 轉換多個數據類型
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [2.0, 3.0, np.nan],
'C': ['john', 'jane', 'mary']
})
df = df.astype({'A': float, 'B': int})
# 查看數據類型
print(df.dtypes)
總結
以上是pandas中幾個用於數據類型轉換的方法和技巧,可以根據實際需求靈活運用。其中最常用的方法是astype()和to_numeric(),infer_objects()方法在進行數據類型不明的情況下非常有用,而構造函數則可以在創建Series和DataFrame時直接指定數據類型。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/301757.html