Python 寻找带字母的数字

Python 寻找带字母的数字,python,string,pandas,int,Python,String,Pandas,Int,我想选择一个DataFrame列,遍历它,只选择数字,并用“Unknow”替换包含字母和其他符号的数字。我尝试了isreal()方法,但没有成功。有没有办法不用函数就完成这项任务 %matplotlib inline %pylab inline import pandas as pd import numpy as np import matplotlib.pyplot as plt file = 'C:/Users/Сынкетру/Desktop/attacks.csv' df = pd.r

我想选择一个DataFrame列,遍历它,只选择数字,并用“Unknow”替换包含字母和其他符号的数字。我尝试了isreal()方法,但没有成功。有没有办法不用函数就完成这项任务

%matplotlib inline
%pylab inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
file = 'C:/Users/Сынкетру/Desktop/attacks.csv'
df = pd.read_csv(file, sep=',', encoding='ISO-8859-1') 


df_clean = df.Age.dropna()

def age(number):
    try:
        number = df.isreal()
    except ValueError:
        number = 'Unknown'

map(age, df_clean)
print(d)

是否可以使用
isnumeric()
方法?你能展示一下数据的实际情况吗,因为它在这里很重要。例如,类型总是字符串吗?如果类型是字符串,那么您可以只执行
df_clean.loc[~df_clean.str.isdigit()]=“未知”
,但您可能需要首先转换数据类型
df_clean=df_clean.astype(str)
类型是字符串和浮点数。我尝试过isnumeric(),但没有成功。它给出了“AttributeError:‘float’对象没有属性‘isnumeric’”的“no!”!没有函数是无法实现这一点的。虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。
df.Age[~df.Age.apply(np.isreal)] = "unknown"
df = pd.DataFrame(dict(A=['1', 2, '_3', '4.', 'hello', 3.14]))

df['A'] = np.where(pd.to_numeric(df.A, 'coerce').notnull(), df.A, 'unknown')
df