gpt4 book ai didi

python - 尝试从混合类型 pd 系列中的邮政编码中删除 +4

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:00 26 4
gpt4 key购买 nike

我知道有人问过类似的问题,但我找到的解决方案都不起作用(我在底部列出了其中一些解决方案)。

我有一个邮政编码列表,其中一些包含+4,但我不需要。其他的要么太短(错别字),要么是外国的。目前所有单元格都是对象。

示例可以是:

member  state   country     zip         joined
16081 NY UNITED STATES 11215 9/4/09
21186 NY UNITED STATES 5325 8/9/11
34999 NY UNITED STATES 11218 11/4/16
34999 NY FOOBAR STATES NaN 11/4/16
5033 NY UNITED STATES 11238-1630 11/7/16
35079 NY FOOBAR STATES SW4 9JX 11/13/16
35084 NY UNITED STATES 11217-2181 11/14/16

我想最终得到

member  state  country      zip         joined
16081 NY UNITED STATES 11215 9/4/09
21186 NY UNITED STATES 5325 8/9/11
34999 NY UNITED STATES 11218 11/4/16
34999 NY FOOBAR STATES NA 11/4/16
5033 NY UNITED STATES 11238 11/7/16
35079 NY FOOBAR STATES SW4 9JX 11/13/16
35084 NY UNITED STATES 11217 11/14/16

以下是我在编码方面尝试过的一些事情:

for x in df.zip:
if len(x) > 5:
print x.split("-")[0]
x[:x.index("-")]

返回类型错误:“float”类型的对象没有 len()

<小时/>
df['zips'] = df['zip'].map(lambda x: x.rstrip('-'/n))

返回NameError:全局名称“n”未定义

<小时/>
def zipclip(x): 
if x.isnumeric:
if len(x) > 5:
return z[:5]
elif len(x) < 5:
return "NA"

返回 AttributeError: 'str' 对象没有属性 'isnumeric'

<小时/>
df.zip = [line[:5] if line[:5].isnumeric() and line[6:].isnumeric() else\
line for line in zip if line]

返回类型错误:“builtin_function_or_method”对象不可迭代

<小时/>

以下是我看过的一些地方:

(抱歉,如果我在文档方面做得太过分了——我过去曾受到过批评,我想确保人们知道我一直在努力)

最佳答案

试试这个:

In [88]: df.zip = df.zip.str.split('-').str[0]

In [89]: df
Out[89]:
member state country zip joined
0 16081 NY UNITED STATES 11215 9/4/09
1 21186 NY UNITED STATES 5325 8/9/11
2 34999 NY UNITED STATES 11218 11/4/16
3 34999 NY FOOBAR STATES NaN 11/4/16
4 5033 NY UNITED STATES 11238 11/7/16
5 35079 NY FOOBAR STATES SW4 9JX 11/13/16
6 35084 NY UNITED STATES 11217 11/14/16

关于python - 尝试从混合类型 pd 系列中的邮政编码中删除 +4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40696500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com