首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >移除熊猫系列或数据框内的所有内容

移除熊猫系列或数据框内的所有内容
EN

Stack Overflow用户
提问于 2020-05-08 01:02:38
回答 4查看 123关注 0票数 0

好日子,有没有可能把里面的所有东西都去掉,包括方括号?提前感谢

代码语言:javascript
运行
复制
df = pd.DataFrame({'City': ['Santiago [1]','Madrid [2]','Barcelona [2]']})
df

0圣地亚哥1

1马德里2

2巴塞罗那2

期望输出:

圣地亚哥0

1马德里

巴塞罗那2

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-05-08 01:05:34

使用split + strip

代码语言:javascript
运行
复制
df.City=df.City.str.split('[').str[0].str.strip()
df
        City
0   Santiago
1     Madrid
2  Barcelona
票数 2
EN

Stack Overflow用户

发布于 2020-05-08 01:13:53

YOBEN_S的答案是完美的。我只是添加了一个替代方案,您不需要使用strip(),只需要使用split(),它将字符串在中间的空格拆分。

代码语言:javascript
运行
复制
df.City=df.City.str.split().str[0]
df
        City
0   Santiago
1     Madrid
2  Barcelona

编辑:正如Nick评论的那样,这不适用于中间有空白的城市。如果您想使用空白分隔,下面是另一种选择

代码语言:javascript
运行
复制
df = pd.DataFrame({'City': ['Santiago [1]','Madrid [2]','Barcelona [2]','New York [2]','India and China [10]']})
df.City=df.City.apply(lambda x : " ".join(x.split()[:-1]))
df
              City
0         Santiago
1           Madrid
2        Barcelona
3         New York
4  India and China
票数 1
EN

Stack Overflow用户

发布于 2020-05-08 01:29:42

Regex也可以在这里工作..。获取[之前的所有字符:

代码语言:javascript
运行
复制
df['extract'] = df.City.str.extract(r'(.*(?=\[))')

       City         extract
0   Santiago [1]    Santiago
1   Madrid [2]      Madrid
2   Barcelona [2]   Barcelona
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61670286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档