gpt4 book ai didi

Python:如何从 Pandas 列中删除所有非数值?

转载 作者:太空宇宙 更新时间:2023-11-04 11:22:16 39 4
gpt4 key购买 nike

我有一个数据框 df 如下所示

    Rooms   BFS
0 3.5 4201
1 1.5 4201
2 NA 4201
3 NA 4201
4 5.5 4201
5 5 4201
6 4.5 4201
7 3 4201
8 4201
9 3 4201

我想删除 Rooms 列中的所有非数值。 Rooms 中的所有值现在都被视为 str

最佳答案

使用to_numeric使用 errors='coerce'Series.notnaboolean indexing 过滤:

df = df[pd.to_numeric(df['Rooms'],errors='coerce').notna()]
print (df)
Rooms BFS
0 3.5 4201
1 1.5 4201
4 5.5 4201
5 5 4201
6 4.5 4201
7 3 4201
9 3 4201

如果输出中需要数字,首先分配给同一列,然后使用 DataFrame.dropna :

df['Rooms'] = pd.to_numeric(df['Rooms'],errors='coerce')
df = df.dropna(subset=['Rooms'])
print (df)
Rooms BFS
0 3.5 4201
1 1.5 4201
4 5.5 4201
5 5.0 4201
6 4.5 4201
7 3.0 4201
9 3.0 4201

关于Python:如何从 Pandas 列中删除所有非数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55722919/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com