我正在運行一個SQL查詢,其中結果中有一個名爲'type'的列包含'A'或'B'作爲其值。我想將'A'轉換爲0,'B'轉換爲1.據我所知,數據框不允許字符串,所以我不知道如何去做這件事。熊貓:將字符串轉換爲使用函數浮動
我是否需要先使用SQL進行此轉換,然後使用Pandas將結果讀入數據框?
任何想法?
謝謝!
我正在運行一個SQL查詢,其中結果中有一個名爲'type'的列包含'A'或'B'作爲其值。我想將'A'轉換爲0,'B'轉換爲1.據我所知,數據框不允許字符串,所以我不知道如何去做這件事。熊貓:將字符串轉換爲使用函數浮動
我是否需要先使用SQL進行此轉換,然後使用Pandas將結果讀入數據框?
任何想法?
謝謝!
我不知道我的理解正是你的熊貓不允許意思串,然而,值轉換爲0和1的快捷方式是以下幾點:
df = pd.DataFrame(['A', 'B', 'A'], columns=['x'])
df['x_int'] = (df['x'] == 'B').astype(int)
df
x x_int
0 A 0
1 B 1
2 A 0
在這裏,你是該系列第一次轉換爲布爾然後將叔整數
熊貓DataFrames允許字符串,但大多數預測/迴歸/分類方法沒有。
有相當將字符串轉換爲數值的幾種方法:
df['type'] = df['type'].map({'A':0, 'B':1})
IMO最靈活的是:
df['type'] = pd.factorize(df['type'])[0]
和
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df['type'] = le.fit_tramsform(df[['type']])
你是什麼意思dataframes不允許字符串?請發佈示例代碼。 – suvy