python-3.x - 是否有一个 Python 函数可以从字符串中删除字符(带数字)?
问题描述
我正在做一个关于高档化的项目。我的队友从人口普查中提取数据并对其进行清理以获得我们需要的值。问题是,邮政编码值不会打印 0(即“2322”,而应该是“02322”)。我们设法找到了打印带有机智代码(“ZCTA5 02322”)的完整邮政编码的机智值。我想删除“ZCTA5”以单独获取邮政编码。
我试过下面的代码,但它只去掉了“ZCTA”而不是“ZCTA5”(即“502322”)。我还担心,如果我设法删除带有字符的 5,它也会删除邮政编码中的所有 5。
从那里我将从 pgeocode 中提取以访问相应的 lat & lng 值以创建热图。请帮忙?
我已经尝试过 .replace()、.translate() 函数。替换仍将邮政编码打印为 5。翻译得到一个属性错误。
样本数据
Zipcode | Name | Change_In_Value | Change_In_Income | Change_In_Degree | Change_In_Rent
2322 | ZCTA5 02322 | -0.050242 | -0.010953 | 0.528509 | -0.013263
2324 | ZCTA5 02324 | 0.012279 | -0.022949 | -0.040456 | 0.210664
2330 | ZCTA5 02330 | 0.020438 | 0.087415 | -0.095076 | -0.147382
2332 | ZCTA5 02332 | 0.035024 | 0.054745 | 0.044315 | 1.273772
2333 | ZCTA5 02333 | -0.012588 | 0.079819 | 0.182517 | 0.156093
翻译
zipcode = []
test2 = gent_df['Name'] = gent_df['Name'].astype(str).translate({ord('ZCTA5'): None}).astype(int)
zipcode.append(test2)
test2.head()
代替
zipcode = []
test2 = gent_df['Name'] = gent_df['Name'].astype(str).replace(r'\D', '').astype(int)
zipcode.append(test2)
test2.head()
代替
预期的:
24093
26039
34785
38944
29826
实际的:
524093
526039
534785
538944
529826
翻译
预期的:
24093
26039
34785
38944
29826
实际的:
AttributeError Traceback (most recent call last)
<ipython-input-71-0e5ff4660e45> in <module>
3 zipcode = []
4
----> 5 test2 = gent_df['Name'] = gent_df['Name'].astype(str).translate({ord('ZCTA5'): None}).astype(int)
6 # zipcode.append(test2)
7 test2.head()
~\Anaconda3\envs\MyPyEnv\lib\site-packages\pandas\core\generic.py in __getattr__(self, name)
5178 if self._info_axis._can_hold_identifiers_and_holds_name(name):
5179 return self[name]
-> 5180 return object.__getattribute__(self, name)
5181
5182 def __setattr__(self, name, value):
AttributeError: 'Series' object has no attribute 'translate'
解决方案
看起来您正在使用 pandas,因此您应该能够使用 .lstrip() 方法。我在一个示例 df 上尝试了这个,它对我有用:
gent_df.Name = gent_df.Name.str.lstrip(to_strip='ZCTA5')
这是指向 、 和 的库页面.strip()
的.lstrip()
链接.rstrip()
我希望这有帮助!
推荐阅读
- javascript - 引导网格:减小窗口大小时,最后一个 div 不会出现在下一行
- python - pip install requests[security] 本身会引发 InsecurePlatform 警告/错误
- angularjs - 带有 html 不安全的 Uib 工具提示
- corda - 是否应该使用 Corda Workflow 来管理一般业务工作流
- c# - ASP.NET Core 2.1 - IdentityUser 问题 - 无法为“IdentityUser”创建 DbSet,此类型未包含在上下文模型中
- swift - 如何使用包含友好日期和月份的 DateFormatter 格式化日期
- java - 在窗口机器上找出远程用户登录时间的方法
- php - 在 Laravel 中使用 Blade 文件作为小部件
- ios - UITableView 部分标题并不总是绘制
- nuget - Nuget '2.0.20180607160057-jenkins' 不是有效的版本字符串