假设我有一个数据帧:
>>> df = pd.DataFrame({'num legs': [2, 4, 0, Infinity], 'num wings': [2, 0, NHN, 5], 'num arms': [2, 0, NHN, 5]})
....
>>> df
num legs num wings num arms
2 2 6
4 0 4
0 NHN 1
Infinity 5 0
如何让它在列中查找非文本并删除该行。假设我想删除带有NHN和无穷大的行,因为它包含文本,而它应该是数值
我想做一些类似的事情:
df = df[~df['num legs','num wings', 'num arms'].isin(['NHN, Infinity'])]
但是我的数据集有80列,其中2列的值中应该有文本,78列应该是数字
我该怎么做呢
您可以获取所有字段均为int的行:
首先指定数字列:
或指定的非数字列,用于数字^{} :
然后通过^{} 将非数值转换为NaN,最后通过^{} 删除带有它们的行:
首先创建一个函数:-
现在就用这个:-
相关问题 更多 >
编程相关推荐