作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含两列的数据框,一列是 Date
,另一列是 Location(Object)
数据类型,下面是带有值的 Location 列的格式:
Date Location
1 07/12/1912 AtlantiCity, New Jersey
2 08/06/1913 Victoria, British Columbia, Canada
3 09/09/1913 Over the North Sea
4 10/17/1913 Near Johannisthal, Germany
5 03/05/1915 Tienen, Belgium
6 09/03/1915 Off Cuxhaven, Germany
7 07/28/1916 Near Jambol, Bulgeria
8 09/24/1916 Billericay, England
9 10/01/1916 Potters Bar, England
10 11/21/1916 Mainz, Germany
我的要求是用 ","
分隔符拆分 Location 并只保留它的第二部分 (例如新泽西、加拿大、德国、英国等。)
在位置列中。我还必须检查它是否只有一个元素(单个元素没有“,”的值)
有没有一种方法可以使用预定义的方法来完成,而无需循环每一行?
如果这个问题不符合标准,我很抱歉,因为我是 Python 的新手并且还在学习。
最佳答案
一种直接的方法是对列的每个元素应用
split
方法并选择最后一个元素:
df.Location.apply(lambda x: x.split(",")[-1])
1 New Jersey
2 Canada
3 Over the North Sea
4 Germany
5 Belgium
6 Germany
7 Bulgeria
8 England
9 England
10 Germany
Name: Location, dtype: object
要检查每个单元格是否只有一个元素,我们可以在列上使用 str.contains
方法:
df.Location.str.contains(",")
1 True
2 True
3 False
4 True
5 True
6 True
7 True
8 True
9 True
10 True
Name: Location, dtype: bool
关于Python:如何拆分数据框中的字符串列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38676968/
我是一名优秀的程序员,十分优秀!