将类型str(带有数字和单词)列转换为intpandas

我有一个包含数字和单词类型 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
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'. 然后,删除NaNs dropna

print(pd.to_numeric(s, errors='coerce').dropna())

然后上面的代码会输出:


以上是将类型str(带有数字和单词)列转换为intpandas的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>