我有一个数据框,其中包含一个以逗号分隔的值的列。我想将该列中的字符串值转换为整数。
我对一般编码不熟悉,因此非常感谢对正在发生的事情进行简要解释。如果你有时间。
我试过下面的代码。
df['col3'].str.strip(',').astype(int)
df
col1 col2 col3
1 x 12,123
2 x 1,123
3 y 45,998
df
col1 col2 col3
1 x 12123
2 x 1123
3 y 45998
最佳答案
我认为您的解决方案实际上应该是:
df['col3'] = df.col3.str.split(',').str.join('').astype(int)
col1 col2 col3
0 1 x 12123
1 2 x 1123
2 3 y 45998
因为 str.strip
只从左侧和右侧剥离。
解释
str
:允许 Series 的向量化字符串函数split
:将根据某种模式拆分列表中的每个元素,,
在这种情况下join
:将加入现在列表系列中的元素,传递的分隔符为''
,因为您要在此处创建int
。
最后 .astype(int)
将每个字符串转换为整数
关于python - 将逗号分隔字符串的 Pandas 列转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53886585/