gpt4 book ai didi

python - 当并非所有单元格都包含该分隔符时,删除分隔符之前的所有内容

转载 作者:行者123 更新时间:2023-12-01 02:03:41 25 4
gpt4 key购买 nike

我有一个带有“时区”列的数据框。一些条目被列为“国家/城市”。我希望它们只是“城市”。 stackoverflow 上也有类似的问题,我从中得出了以下内容。

df['timezone'] = df['timezone'].str.split('/').str[1]

但是,这删除了没有“/”的条目。所以我尝试了各种其他改编,但没有任何效果。

接下来我尝试构造一个 lambda 函数并使用 map,进行下面的各种调整,这也不起作用。

df['timezone'] = df['timezone'].map(lambda x: x.split('/').str[1]) 

#AttributeError: 'list' object has no attribute 'str'

最后,我决定在下面编写一个循环。 Python 花了一段时间才完成它,我满怀希望,但最终似乎什么也没发生。

x = df['timezone']

for entry in x.items() :
if x.str.contains('/') is True:
x.str.split('/').str[1]
update(x)
else:
pass

非常感谢任何帮助或建议,谢谢。

最佳答案

将分割数限制为 1(当分隔符可能出现多次时需要),然后使用 str[-1] 而不是 str [1]:

df   
timezone
0 country/city
1 foo
2 bar

df['timezone'] = df['timezone'].str.split('/', n=1).str[-1]
df

timezone
0 city
1 foo
2 bar

str[-1] 足以处理没有任何可分割的情况。

关于python - 当并非所有单元格都包含该分隔符时,删除分隔符之前的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49288117/

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