我在 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 关注
- 109 浏览
添加回答
举报
0/150
提交
取消