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

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 中删除分隔符

当所有单元格都是静态的时将单元格添加到 UITableView(在情节提要中设计)

读取 df,拆分每个单元格并附加到列表

UITableViewController - 单元格大小分隔符和背景色

如何删除tableView中的分隔符?