Python 通过在字符串值中查找子字符串来更改列值
我正在尝试使用apply()更改单个列中的值。我的函数部分工作,但我被困在如何修复这另一半 数据列:Python 通过在字符串值中查找子字符串来更改列值,python,pandas,substring,pandas-apply,Python,Pandas,Substring,Pandas Apply,我正在尝试使用apply()更改单个列中的值。我的函数部分工作,但我被困在如何修复这另一半 数据列: 县名 河滨县 圣地亚哥县 旧金山县/市 我正试图摆脱“县”,所以只剩下县的名字。我成功地摆脱了“县”的职能,但我很难摆脱“县/市”从旧金山。 代码: 输出: CountyName Riverside San Diego San Francisco County/city 函数中的条件是否有问题?这是另一种方法。它与您提供的数据一起工作 import pandas as pd s = pd.S
县名
河滨县
圣地亚哥县
旧金山县/市
我正试图摆脱“县”,所以只剩下县的名字。我成功地摆脱了“县”的职能,但我很难摆脱“县/市”从旧金山。
代码:
输出:
CountyName
Riverside
San Diego
San Francisco County/city
函数中的条件是否有问题?这是另一种方法。它与您提供的数据一起工作
import pandas as pd
s = pd.Series(['Riverside County', 'San Diego County', 'SanFrancisco County/city'])
res = s.apply(lambda x: ' '.join([w for w in x.split() if not 'County' in w]))
print(res)
# 0 Riverside
# 1 San Diego
# 2 SanFrancisco
# dtype: object
这是另一种方式。它与您提供的数据一起工作
import pandas as pd
s = pd.Series(['Riverside County', 'San Diego County', 'SanFrancisco County/city'])
res = s.apply(lambda x: ' '.join([w for w in x.split() if not 'County' in w]))
print(res)
# 0 Riverside
# 1 San Diego
# 2 SanFrancisco
# dtype: object
@jpp的回答是按照你要求的字面方式去做。但在这种情况下,我会使用和一些正则表达式一次性替换整个内容:
import pandas as pd
s = pd.Series(['Riverside County', 'San Diego County', 'SanFrancisco County/city'])
res = s.replace(' County(/city)?', '', regex=True)
@jpp的回答是按照你要求的字面方式去做。但在这种情况下,我会使用和一些正则表达式一次性替换整个内容:
import pandas as pd
s = pd.Series(['Riverside County', 'San Diego County', 'SanFrancisco County/city'])
res = s.replace(' County(/city)?', '', regex=True)
@jpp,用于将建议应用于整个专栏。不确定这是否是最好的方法,但它奏效了
lfd[“CountyName”]=pd.Series(lfd[“CountyName”])
@jpp,用于将建议应用于整个专栏。不确定这是否是最好的方法,但它奏效了
lfd[“CountyName”]=pd.Series(lfd[“CountyName”])
为什么要有一个if语句呢?如果字符串中没有“/city”,那么countyname.replace(“County/city”和“”)就不会做任何事情。我复制了您的代码和输入,效果很好。为什么要使用If语句呢?如果字符串中没有“/city”,那么countyname.replace(“County/city”和“”)就不会做任何事情。我复制了您的代码和输入,效果很好。