python - 满足特定条件时为特定列的行添加值
问题描述
我有一个带有 ZIP 列的 pandas 数据框,其中包含许多邮政编码。
但是,我在 .xlsx 文件中获取源数据。在 Excel 中,此列是一个数字字段。这就是 Excel 忽略通常以零开头的邮政编码的第一个字符 0 的原因。
通常,我国的邮政编码有五位数。
现在,我想再次在我的数据框列“ZIP”中重新填充零。缺少零的行很容易发现,因为它们有 4 个字符而不是 5 个。
2314
1234
1234
4322
1234
1234
4323
97862
43242
43212
43213
如何在“ZIP”列中的所有行中添加“0”,其中只有字符而不是正常的五个?
我知道我可以得到这样的前导零:
missing_zero = "0"
df['ZIP'] = missing_zero + df['ZIP'].map(str)
但这会将零添加到所有行,而不仅仅是缺少零的行。
我将不胜感激有关如何添加where 字符长度 = 4 逻辑的任何见解
提前致谢!
解决方案
如果您的列被格式化为字符串,请尝试此操作。
df['zip'].str.zfill(5)
推荐阅读
- angular - 如何在 Angular ng2admin 主题中添加 Summernote 插件
- django - 如何根据 slug 在模型中设置 ForeignKey?
- c# - 如何将文本文件中的十六进制数据转换为字符串文件
- angular - 如何检索存储在 localStorage 中的对象的变量?
- sql-server - 如何更新 information_schema.columns 中的 column_name
- c++ - 尽管使用了-isystem,为什么clang在我的标题上报告警告,而gcc没有报告?
- android - 我无法使用 Firebase Google 登录方法登录
- anaconda - 安装 pyinstaller 后,通过 Anaconda 安装的 Spyder 无法正常工作
- php - Laravel 分类 + 文章的蛞蝓
- wordpress - 我们可以在没有 do_action 钩子的情况下执行 add_action 函数吗