【发布时间】:2021-12-07 22:19:16
【问题描述】:
我有一个 df 的城市,显示为:
| id | location |
|----|------------------|
| 1 | New York (NY) |
| 2 | Los Angeles (CA) |
| 3 | Houston (TX) |
我希望使用某种拆分/条带,给我类似的东西
| id | city | state |
|----|------------------|-------|
| 1 | New York | NY |
| 2 | Los Angeles | CA |
| 3 | Houston | TX |
或者即使是三列,一是原始的,二是由代码制成的。 我已经尝试过类似的方法:
df[['city', 'state']] = df['location'].str.split("(", expand=True)
df['state'] = df['state'].str.strip(")")
这行得通,但不是那么多,因为每个城市名称后面都有一个空格,不应该。如果我搜索一个城市,例如:
df[df['city'] == 'Houston']
它不会返回任何内容,但我必须编写如下代码:
df[df['city'] == 'Houston '] # note the empty space after code
给我一些有用的东西,但那样做会让我在进行合并或类似的事情时头疼。
那么,有人有一些技巧可以处理这段代码吗?我在互联网上找不到任何有用的东西。它总是一个简单的分割,或者一个简单的条带。但我相信有一种更智能的模式可以做到这一点。
【问题讨论】:
标签: python pandas dataframe split strip