单独打印列的原始值(以熊猫为单位)?

发布于 2021-01-29 19:08:47

我有一个数据框:

df = pd.DataFrame([ { 'name': 'george', 'age': 23 }, {'name': 'anna', 'age': 26}])

现在我想找回乔治的年龄:

df[df.name == 'george'].age

但这会输出一些额外的信息以及原始值:

0    23
Name: age, dtype: int64

我该如何打印23

关注者
0
被浏览
50
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以使用loc+values转换Serienumpy array,然后通过[0]以下方式选择第一个值:

    print (df.loc[df.name == 'george', 'age'].values)
    [23]
    print (df.loc[df.name == 'george', 'age'].values[0])
    23
    

    或直接选择Serieswith的第一个值iloc

    print (df.loc[df.name == 'george', 'age'].iloc[0])
    23
    

    或通过iat以下方式选择第一项:

    print (df.loc[df.name == 'george', 'age'].iat[0])
    23
    

    或使用Series.item

    print (df.loc[df.name == 'george', 'age'].item())
    23
    

    如果可能没有匹配值,则上述解决方案将失败。

    然后,可以使用nextiter招:

    print (next(iter(df.loc[df.name == 'george', 'age']),'no match value'))
    23
    
    print (next(iter(df.loc[df.name == 'jano z hornej dolnej', 'age']),'no match value'))
    no match value
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看