gpt4 book ai didi

python - 如何从 Pandas DataFrame 中提取值,而不是 Series(不引用索引)?

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:39 34 4
gpt4 key购买 nike

我正在尝试通过条件选择从 Pandas DataFrame 返回特定项目(并且不想为此必须引用索引)。

这是一个例子:

我有以下数据框:

  Code  Colour  Fruit
0 1 red apple
1 2 orange orange
2 3 yellow banana
3 4 green pear
4 5 blue blueberry

我输入以下代码来搜索蓝莓的代码:

df[df['Fruit'] == 'blueberry']['Code']

返回:

4    5
Name: Code, dtype: int64

属于以下类型:

pandas.core.series.Series

但我实际上想要返回的是类型为 5 的数字:

numpy.int64

如果我输入以下代码,我可以这样做:

df[df['Fruit'] == 'blueberry']['Code'][4]

即引用索引给出数字 5,但我不想引用索引!

我可以在这里部署另一种语法来实现相同的目的吗?

谢谢!...

更新:

另一个想法是这段代码:

df[df['Fruit'] == 'blueberry']['Code'][df[df['Fruit']=='blueberry'].index[0]]

但是,这看起来不是特别优雅(而且它引用了索引)。是否有更简洁和精确的方法不需要引用索引或者这是绝对必要的?

谢谢!...

最佳答案

让我们试试这个:

df.loc[df['Fruit'] == 'blueberry','Code'].values[0]

输出:

5

首先,使用 .loc 访问数据框中的值,使用 bool 索引进行行选择和索引标签进行列选择。将返回系列的转换转换为一组值,并且由于该数组中只有一个值,您可以使用索引“[0]”从该单个元素数组中获取标量值。

关于python - 如何从 Pandas DataFrame 中提取值,而不是 Series(不引用索引)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49277640/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com