我有一个Pandas 数据框,它有一列邮政编码,我想在邮政编码中加上前导零,这样它们都有五位数.

这是我使用的代码,它正确地识别长度小于5位的值,但没有添加前导零使其长度为5.它还正确地跳过了带有空单元格的5位长的值.值以浮点数的形式传入,因此我将它们转换为字符串.

以下是我使用的代码:

df_tellall['zipcode'] = df_tellall['zipcode'].astype(str)
df_tellall['cleanzip'] = df_tellall['zipcode'].apply(lambda x: str(x).zfill(5)  if len(str(x))<5 else "")

但它不会加上前导零.

zipcode cleanzip
67509
4759 4759

任何帮助都将不胜感激.

推荐答案

try :

# convert "zipcode" to string (if necessary):
df["zipcode"] = df["zipcode"].astype(str)

# cleanzip will become "" when length >= 5, otherwise fill it with leading zeros:
df["cleanzip"] = np.where(
    df["zipcode"].str.len() < 5, df["zipcode"].str.zfill(5), ""
)
print(df)

打印:

  zipcode cleanzip
0   67509         
1    4759    04759

Python-3.x相关问答推荐

DuckDB:带有嵌套对象的星形表达式

如何使用PySide6创建切换框架?

小部件padx和包方法ipadx有什么不同?

如何使用Python将嵌套的XML转换为CSV

从.csv导入将文件夹路径加入到文件名

在循环中使用Print&S结束参数时出现奇怪的问题

将两列的乘积连续添加到一列的累积和中

Python-Django 设置 Pandas DataFrame 的多索引不会分组/合并最后一个索引

如何提高 snowpark 程序的性能?

调用 Clear 时 Airflow 会加载新代码吗

将值从函数传递到标签

通过匹配第一列的行值,逐个单元格地添加两个Pandas 数据框中的浮点数

删除括号和大括号中不必要的空格

多个返回函数的列表理解?

Seaborn 热图 colored颜色 条标签作为百分比

Python 3.9.8 使用 Black 并导入 `typed_ast.ast3` 失败

Python heapify() 时间复杂度

如何在多核上运行 Keras?

AttributeError:LinearRegression 对象没有属性coef_

尾部斜杠的 FastAPI 重定向返回非 ssl 链接