gpt4 book ai didi

python - 使用 bool 选择选择一个dataframe,然后提取某一列对应的值

转载 作者:行者123 更新时间:2023-11-30 21:58:27 35 4
gpt4 key购买 nike

示例数据框:

import pandas as pd
df = pd.DataFrame({'a': [-3, -2, 0], 'b': [-2, 2, 5], 'c': [-1, 0, 7], 'd': [1, 4, 8]})

我正在尝试做一些我希望相当简单的事情,并且在支持数据帧类的其他语言中确实是立即的,例如 R。我只想从 df< 中提取单个值,唯一需要注意的是我选择带有 bool 表达式的行(例如“a”==0),而不是使用标签。与往常一样,该列是通过标签选择的。例如,这可行,但似乎不必要地浪费:

df["c"][df["a"]==0][1] 

该指令不是直接从数据帧中提取值,而是 1) 提取 Pandas Series,2) 选择该系列中的一行,3) 选择行选择返回的数组的第二个元素! (第一个元素是索引)。它不仅看起来不必要地复杂,而且我担心对于非常大的数据帧来说它也可能很慢。

我使用 .at.iat 尝试了其他解决方案,但似乎没有任何效果。有没有更简单/更智能的方法来做到这一点?

最佳答案

您无法一次性完成此操作:

In [11]: df.loc[df["a"]==0, "c"]
Out[11]:
2 7
Name: c, dtype: int64

In [12]: df.loc[df["a"]==0, "c"].iat[0]
Out[12]: 7

关于python - 使用 bool 选择选择一个dataframe,然后提取某一列对应的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54915946/

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