python - 将类型 str(带有数字和单词)列转换为 int pandas
问题描述
我有一列包含数字和单词的 str 类型:
前任。
['2','3','Amy','199','Happy']
我想将所有“str number”转换为 int 并删除(带有)“str words”的行。
所以我的预期输出将是如下列表:
[2, 3, 199]
由于我有一个 pandas 数据框,并且这应该是其中的一列,因此如果它可以Series
如下所示会更好:
0 2.0
1 3.0
3 199.0
dtype: float64
解决方案
正如您提到的,您有一个专栏(一个系列),所以假设它被称为s
:
s = pd.Series(['2', '3', 'Amy', '199', 'Happy'])
然后在分配后,只需做pd.to_numeric
并放入 的参数errors='coerce'
。然后,删除NaN
s dropna
:
print(pd.to_numeric(s, errors='coerce').dropna())
那么上面的代码就会输出:
0 2.0
1 3.0
3 199.0
dtype: float64
推荐阅读
- python - 我怎样才能组合熊猫 GroupBy 的组?
- function - 更深层次的函数调用或同级调用
- machine-learning - 使用像 PSO 这样的元启发式算法训练神经网络是如何工作的?
- javascript - BigBlueButton 自定义 HTML 5 客户端
- python - RuntimeError:大小不匹配,m1:[4 x 784],m2:[4 x 784] 在 /pytorch/aten/src/TH/generic/THTensorMath.cpp:136
- firebase - Firebase TLS 限制
- c - 尝试在c中使用memmove时如何使用SIGSEGV?
- java - 搜索子主题列表
- assembly - 如何在 Raspberry Pi 的 ARM 程序集中输出字符串的长度?
- c - 如何获取一个字符串并将其区分为不同的字符串,每个字符串有 2 个字符?