【问题标题】:How to select a particular value from a DataFrame?如何从 DataFrame 中选择特定值?
【发布时间】:2021-01-14 03:09:42
【问题描述】:

如何根据 Pandas 中某列中的值从 DataFrame 中选择特定值? 我不能使用索引,因为我的数据没有熊猫索引

在 SQL 中,我会使用:

SELECT name 
FROM contacts
WHERE phone = '234-567-8900'

我想返回给定电话号码的联系人姓名。

我尝试查看 Pandas 的文档,但没有立即找到答案。

我得到的最接近的是:

contact.loc[contact['Phone']=='234-567-8900', 'name']

但这会返回一个 dtype: object 而我只想要名称的字符串值

【问题讨论】:

  • contacts.loc[contact['Phone']=='234-567-8900', 'name'].tolist(),实际上dataframe中的str会显示为object dtype。
  • 这实际上让我非常接近。它返回一个数组,里面只有名称的字符串。我在您的代码末尾添加了一个“[0]”,并获得了字符串本身,但是有没有更清洁/更简单的方法?

标签: python sql pandas dataframe


【解决方案1】:
contacts[(contacts['Phone'] == '234-567-8900')]['name'].iloc[x]

x 是任何整数 - 如果只有一个元素,则将 x 设置为 0

您首先选择联系人为 234-567-8900 的所有行,然后为这些行选择姓名列

【讨论】:

  • 刚刚尝试过 - 仍然返回一个 dtype 对象。我如何获得里面的价值?
  • 我刚刚编辑了我的答案 - 这取决于过滤器返回的元素数量 - 如果需要,您可以使用 for 循环进行循环
猜你喜欢
  • 2019-01-12
  • 2011-05-20
  • 2018-06-08
  • 2016-08-18
  • 2020-04-22
  • 1970-01-01
  • 1970-01-01
  • 2018-09-04
  • 2020-01-08
相关资源
最近更新 更多