代码之家  ›  专栏  ›  技术社区  ›  asmgx

如何在Python中仅从dataframe获取单个值

  •  0
  • asmgx  · 技术社区  · 2 年前

    我的数据框是这样的

          id    name        age     major
    ----------------------------------------
    0     1     Mark        34      English
    1     2     Tom         55      Art
    2     3     Peter       31      Science
    3     4     Mohammad    23      Math
    4     5     Mike        47      Art
    ...
    

    我正在努力了解major的价值(仅限于此)

    我用了这个,当我知道记录的id时,它工作得很好

    df_my["major"][3]
    

    返回

    "Math"
    

    太棒了

    但我想获得一个可变记录的专业

    我曾经

    i = 3
    df_my.loc[df_my["id"]==i]["major"]
    

    而且还用

    i = 3
    df_my[df_my["id"]==i]["major"]
    

    但他们都回来了

    3     Math
    

    它还包括记录索引

    我怎么能只考专业而不考别的?

    1 回复  |  直到 2 年前
        1
  •  1
  •   enke    2 年前

    你可以用 squeeze :

    i = 3
    out = df.loc[df['id']==i,'major'].squeeze()
    

    另一个选择是 iat :

    out = df.loc[df['id']==i,'major'].iat[0]
    

    输出:

    'Science'