首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从获得NAN的列白化中删除字符串

从获得NAN的列白化中删除字符串
EN

Stack Overflow用户
提问于 2022-01-14 16:31:14
回答 1查看 90关注 0票数 0

我有一个DataFrame,类似于:

代码语言:javascript
运行
复制
DF = {'Col':  [1, 2, 3,...,100, 10-1 , 10-2]}

我想去掉最后两行的"-“字。如果我使用replace on列,则得到没有"-“的值的NaN。

例如:

代码语言:javascript
运行
复制
DF['Col'] = DF['Col'].str.replace('-','')

在以下方面的成果:

代码语言:javascript
运行
复制
DF = {'Col':  [NAN, NAN, NAN,...,NAN, 101 , 102]}

是否有一种方法可以删除"-“,而不必在其他行上获得NaN?

EN

回答 1

Stack Overflow用户

发布于 2022-01-14 16:47:54

您的问题是因为存在整数值和字符串的混合。首先将整个列转换为字符串:

代码语言:javascript
运行
复制
>>> df['Col'].astype(str).str.replace('-', '')
0      1
1      2
2      3
3    100
4    101
5    102
Name: Col, dtype: object

# Without cast
>>> df['Col'].str.replace('-', '')
0    NaN
1    NaN
2    NaN
3    NaN
4    101
5    102
Name: Col, dtype: object

显然,现在您可以还原它并将您的列转换为int:

代码语言:javascript
运行
复制
>>> df['Col'].astype(str).str.replace('-', '').astype(int)
0      1
1      2
2      3
3    100
4    101
5    102
Name: Col, dtype: int64
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70713699

复制
相关文章

相似问题

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