社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Maxil Dourave • 3 年前 • 1451 次点击  
       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
 
1451 次点击  
文章 [ 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)