我在 pandas 數(shù)據(jù)框中有一個(gè)分類變量,varA. 它有 4 個(gè)級別:[1, 3, 1.0, 3.0],而不僅僅是 [1, 3]。我正在努力將 1.0 映射到 1。示例數(shù)據(jù)集:df[['varA', 'ID']].groupby(['varA']).count() countvarA 1 1001.0 103 3003.0 30我嘗試過的:df[['varA']].replace(1.0, 1)但一切都沒有改變。我確信這是一個(gè)簡單而微不足道的問題,但我一直無法解決它。我期待: countvarA 1 1103 330
2 回答

慕姐4208626
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
列中的數(shù)據(jù)varA
可以是文本,也可以是文本、浮點(diǎn)數(shù)和整數(shù)的混合。您可以首先嘗試將值轉(zhuǎn)換為浮點(diǎn)數(shù),然后將結(jié)果轉(zhuǎn)換為整數(shù):
df['varA'] = df['varA'].astype(float).astype(int)

catspeake
TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
您可以使用downcast以下參數(shù)pd.to_numeric:
df['varA'] = pd.to_numeric(df['varA'], downcast='integer')
count
varA
1 100
1.0 10
3 300
3.0 30
注意:如果varA是您的索引(如圖所示),您可以通過df.index而不是訪問它df['varA']。
- 2 回答
- 0 關(guān)注
- 178 瀏覽
添加回答
舉報(bào)
0/150
提交
取消