【问题标题】:Getting a cell value from a column based on cell value from another column [duplicate]根据另一列的单元格值从列中获取单元格值[重复]
【发布时间】:2018-12-14 22:48:45
【问题描述】:

我有这个数据框

d = {'Number': [1, 2,3,4,5,6,7], 'Letters': ["a", "d","z","f","u","p","g"]}
df = pd.DataFrame(data=d)

    Number Letters
0       1       a
1       2       d
2       3       z
3       4       f
4       5       u
5       6       p
6       7       g

我想根据Number 列从Letters 列中获取一个值 假设我想得到数字为 3 的字母

我做的是

letter = df.loc[df['Number'] == 3]
dfletter = pd.DataFrame(data=letter.values, columns = ['Number', 'Letter']) 
dfletter = dfletter.drop(columns = 'Number')

这给了我想要的东西

    Letter
0      z

但这似乎是一个愚蠢的解决方法,所以我正在寻找更好的解决方案

【问题讨论】:

    标签: python pandas


    【解决方案1】:
    output = df.loc[df['Number'] == 3, 'Letters']
    

    【讨论】:

      【解决方案2】:
      >>> df[df.Number == 3].Letters
      2    z
      Name: Letters, dtype: object
      

      或者,如果你真的需要一个标量值:

      >>> df[df.Number == 3].Letters.values[0]
      'z'
      

      【讨论】:

      • 有什么原因你没有在这里使用loc
      猜你喜欢
      • 2013-01-10
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-09
      • 2022-11-14
      • 1970-01-01
      • 2020-02-26
      相关资源
      最近更新 更多