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

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
列中的數據varA
可以是文本,也可以是文本、浮點數和整數的混合。您可以首先嘗試將值轉換為浮點數,然后將結果轉換為整數:
df['varA'] = df['varA'].astype(float).astype(int)

catspeake
TA貢獻1111條經驗 獲得超0個贊
您可以使用downcast以下參數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 關注
- 162 瀏覽
添加回答
舉報
0/150
提交
取消