【问题标题】:Selecting data in Pandas based on a condition根据条件在 Pandas 中选择数据
【发布时间】:2015-07-09 01:15:37
【问题描述】:

我想根据满足的条件从数据框列返回特定值(在本示例中为 Project2 的成本)。我做了一些研究,但运气不佳。我确实写了下面的代码,但它只是因为我碰巧知道Project2 位于索引位置2。

import pandas as pd
df = pd.DataFrame(data = [['Project1', 800], ['Project2', 1000]], columns=['Project ID', 'Cost'])
print df.loc[df['Project ID'] == 'Project2'].ix[1, 'Cost']

【问题讨论】:

  • df.loc[df['Project ID'] == 'Project2', 'Cost'] 工作吗?
  • 虽然打印为数据框行(意味着它打印索引)。我想要实际值。
  • df.loc[df['Project ID'] == 'Project2', 'Cost'].values[0]
  • 这样就解决了。请提交作为答案!

标签: python python-2.7 pandas


【解决方案1】:

如果您寻找潜在价值,请尝试

df.loc[df['Project ID'] == 'Project2', 'Cost'].values

【讨论】:

    【解决方案2】:

    不如做点什么 -

    print df[df['Project ID'] == 'Project2']['Cost']
    

    上面给出了系列,如果你想要单独的值,你可以循环它们-

    for i in df[df['Project ID'] == 'Project1']['Cost']:
        print i
    

    【讨论】:

      【解决方案3】:
      import pandas as pd
      print df[df['Project ID'] == 'Project2']['Cost'].values[0]
      

      .values 将系列变成一个列表,[0] 选择单个元素

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-03
        • 2017-09-23
        • 2021-11-17
        • 2016-11-02
        • 1970-01-01
        • 2015-03-22
        • 1970-01-01
        相关资源
        最近更新 更多