Py学习  »  Python

尝试使用python删除列中没有数值的所有行

Maxil Dourave • 3 年前 • 1428 次点击  
       age    
0       55
1       45
2       58
4      N/A

我需要删除上面给定的dataframe示例中列年龄中不包含数值的所有行

预期产量如下所示

       age
0       55
1       45
2       58
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129820
 
1428 次点击  
文章 [ 3 ]  |  最新文章 3 年前
Veena Kumari
Reply   •   1 楼
Veena Kumari    3 年前

作为pd进口大熊猫
将numpy作为np导入
数据={“姓名”:[“jhon”、“alex”、“lisa”、“maya”],“年龄”:[10,14,np.nan,15]}
df=pd。数据帧(数据)
df。dropna()

希望对你有所帮助。dropna()方法删除具有na值的行 Code snippet for refrence

Corralien
Reply   •   2 楼
Corralien    3 年前

使用 pd.numeric 作为布尔掩码:

df = df.loc[pd.to_numeric(df['age'], errors='coerce').notna()]
print(df)

# Output
  age
0  55
1  45
2  58

所有非数值都将转换为 NaN .

Peter
Reply   •   3 楼
Peter    3 年前

试试这个

import pandas as pd
import numpy as np
data = {
"age": [0, 55, 1,55,4,'N/A',5]

}
df = pd.DataFrame(data)
df=df[df['age'].apply(lambda x: type(x) in [int, np.int64, 
float, np.float64])]

print(df)