python-3.x - 如何检查我的数据框每一列中的任何条目是否是数字?
问题描述
我对使用一个简单的代码印象深刻
考虑以下 DataFrame
import numpy as np
import pandas as pd
index =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]
dct = {'Region': {0: 'Amma', 1: 'Amma', 2: 'Amma', 3: np.nan, 4: 'Amma', 5: 'Amma', 6: 'Amma', 7: '1', 8: 'Amma', 9: 'Amma', 10: 'Amma', 11: 'Amma', 12: 'Amma', 13: 'Amma', 14: 'Amma', 15: 'Amma', 16: 'Amma', 17: 'Amma', 18: 'Amma', 19: 'Amma', 20: 'Amma', 21: 'Amma', 22: 'Amma', 23: 'Amma', 24: 'Amma', 25: 'Amma', 26: 'Amma', 27: 'Amma', 28: 'Amma', 29: 'Amma', 30: 'Amma', 31: 'Amma', 32: 'Amma', 33: 'Amma', 34: 'Amma', 35: 'Amma', 36: 'Amma', 37: 'Amma', 38: 'Amma', 39: 'Amma'}, 'Urban/Rural residence': {0: 'Urba', 1: 'Urba', 2: 'Urba', 3: 'Urba', 4: 'Urba', 5: 'Urba', 6: 'Urba', 7: 'Urba', 8: 'Urba', 9: 'Urba', 10: 'Urba', 11: 'Urba', 12: 'Urba', 13: 'Urba', 14: 'Urba', 15: 'Urba', 16: 'Urba', 17: 'Urba', 18: 'Urba', 19: 'Urba', 20: 'Urba', 21: 'Urba', 22: 'Urba', 23: 'Rural', 24: 'Urba', 25: 'Urba', 26: 'Urba', 27: 'Urba', 28: 'Urba', 29: 'Urba', 30: 'Urba', 31: 'Urba', 32: 'Urba', 33: 'Urba', 34: '1.65', 35: 'Urba', 36: 'Urba', 37: 'Urba', 38: 'Urba', 39: 'Urba'}}
new_df = pd.DataFrame( dct, index=index )
现在我还必须将一些函数定义为
def solve(lis):
for x in lis:
try:
yield float(x)
except ValueError:
pass
def CheckIfFloat(new_df):
a=[]
for i in new_df.columns:
new_df1=new_df[new_df[i].isna()==0][i]
A=list(solve(new_df1))
if len(A)!=0:
a.insert(len(a),i)
return a
现在由于某种原因,这没有按预期工作,结果应该是两列。但这里它只给出第一列。
有没有更简单的方法来做到这一点?
解决方案
pandas.to_numeric
与参数一起使用errors='coerce'
并创建包含任何有效数字的任何列的列表理解。
number_cols = new_df.columns[[pd.to_numeric(new_df[col], errors='coerce').notna().any() for col in new_df]]
你可以通过索引
new_df[number_cols]
推荐阅读
- javascript - 无法在另一个文件 (node.js) 中导入函数
- python - 检测散列的单词和短语以掩盖它们
- api - curl:找不到匹配项
- javascript - 多个动态初始化时只有一个 Dropzone 工作
- html - 无法将 SVG 的颜色更改为白色
- python-3.x - 无法通过本地控制器的 l2cap 原始套接字发送数据 - [Errno 107] 传输端点未连接
- javascript - 识别字符串中的特定字符(为什么我的代码不起作用?)
- javascript - 如何将音乐添加到 Aframe?
- android - 如何对每个新项目的 RecyclerView 进行排序?
- regex - 如何允许用户名仅小写?