繁体   English   中英

如何使用熊猫获取每一行的数据类型?

[英]How to get datatypes of each row using pandas?

我有一个看起来像这样的数据框。

姓名 年龄
约翰 20.5
爱丽丝 39.1
帕姆 41.0
203921 希望

我想创建一个名为“Name_Type”的新列,返回如下:

姓名 名称_类型
约翰 真的
爱丽丝 真的
帕姆 真的
203921 错误的
年龄 年龄类型
20.5 真的
39.1 真的
41.0 真的
希望 错误的

我想检查名称列是否为字符串。 我会为 Age 做同样的事情,检查它是否是 FLOAT。

我希望这适用于您的情况:

df = pd.DataFrame({'Name':['John', 'Alice', 'Pam', 203921], 'Age':[20.5, 39.1, 41.0, 'Hope']})
df['Name_Type'] = [True if type(x) == str else False for x in df.Name]
df['Age_Type'] = [True if type(x) == float else False for x in df.Age]
print(df)

结果:

     Name   Age  Name_Type  Age_Type
0    John  20.5       True      True
1   Alice  39.1       True      True
2     Pam  41.0       True      True
3  203921  Hope      False     False

当所有值都是字符串时,此解决方案应该有效:

df = pd.DataFrame({'Name':['John', 'Alice', 'Pam', '203921'], 'Age':['20.5', '39.1', '41.0', 'Hope']})

def is_float(x):
    try:
        float(x)
        return True
    except:
        return False

df['Name_Type'] = ~df.Name.str.isnumeric()    
df['Age_Type'] = df.Age.apply(is_float)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM