gpt4 book ai didi

python - Pandas : Get row from an ID which is a split of a column value

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:52 25 4
gpt4 key购买 nike

我有一个包含文件名列表的 pandas DataFrame df

这是一个例子:

print(df)

>>
+---------+---------+
| ID| Field|
+---------+---------+
| AAA.png| X|
| BBB.jpg| Y|
| CCC.png| Z|
+---------+---------+

我想从给定的 ID(不带扩展名的文件名)中检索 Field 列的值。

例如,对于 my_id = BBB,我想获取值 Y

为此,我尝试了以下操作:

my_id = BBB
field_value = df[df["ID"].str.split('.')[0] == my_id]["Field"]

但我收到错误 KeyError: False。我明白为什么会出现此错误,但我不知道如何以其他方式做到这一点。

最佳答案

首先按 boolean indexing 过滤与 DataFrame.loc - 输出为 Series:

field_value = df.loc[df["ID"].str.split('.').str[0] == my_id, "Field"]

然后对于第一个值,使用 nextiter:

first val = next(iter(field_value), 'no match')

如果需要列表中所有匹配的值:

L = field_value.tolist()

关于python - Pandas : Get row from an ID which is a split of a column value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56219863/

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