python - Pandas - 将前导 "0"添加到字符串值,以便所有值都等于 len

标签 python string pandas

我有一个专栏,code_x。我将它转换为 .astype(str)。一些示例值是 45362.0、75345.0、346157.0、572575.0。我希望它们都是 6 位数。又名:045362、075345、346157、572575

我正在尝试以下方法,但它不起作用: f3[df3['code_x'].str.len() == 7] = "0"+ df3[df3['code_x'].str.len() == 7]['code_x']

建议?

最佳答案

我什至因为使用 zfill 而支持@DSM。但我认为使用 lamba 会使它更清晰、更易于阅读。

In [1]: import pandas as pd

In [2]: df = pd.DataFrame([45362.0, 75345.0, 346157.0, 572575.0], columns=['code_x'])

In [3]: df.code_x.apply(lambda x: str(int(x)).zfill(6))
Out[3]: 
0    045362
1    075345
2    346157
3    572575
Name: code_x, dtype: object

注意:我们先将给定值转换为 int,然后再转换为字符串,以去除结果中的“.0”。

关于python - Pandas - 将前导 "0"添加到字符串值,以便所有值都等于 len,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33243763/

相关文章:

python - 替换python pandas数据框中的部分字符串

python - 平均图像 ROI 中的像素

python - 如何通过列表的长度确定数组的维度

java - 如何获得所有具有相同模式的字符串

java - 如何在java中用 "\"替换 "\\"

python - 根据回合时间选择 Pandas 数据框行

python - 创建列表以填充组合框时出错

python - 使用 kivy 构建应用程序以与 Django Rest Framework 交互

PHP mb_substr() 无法正常工作?

python - 不理解 pandas 中 MonthEnd() 的输出