当并非所有单元格都包含该分隔符时,在分隔符之前删除所有内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当并非所有单元格都包含该分隔符时,在分隔符之前删除所有内容相关的知识,希望对你有一定的参考价值。
我有一个带有'timezone'列的数据框。部分参赛作品被列为“国家/城市”。我希望他们只是'城市'。 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]
充分处理那些无法分割的情况。
以上是关于当并非所有单元格都包含该分隔符时,在分隔符之前删除所有内容的主要内容,如果未能解决你的问题,请参考以下文章
并非所有单元格都显示在CollectionViewController Swift中
当所有单元格都是静态的时将单元格添加到 UITableView(在情节提要中设计)