gpt4 book ai didi

python - 从 .loc 查询返回一个字符串

转载 作者:行者123 更新时间:2023-12-01 21:45:56 27 4
gpt4 key购买 nike

我有一个简单的 Pandas 数据框:

import pandas as pd 
data = [['tom', 10], ['nick', 15], ['juli', 14]]
df = pd.DataFrame(data, columns = ['Name', 'Age'])

如果我从行索引 1 中选择名称,我会得到一个简单的字符串对象:

df.loc[1].Name
Out[9]: 'nick'

但是如果我选择包含 Age == 15 的行,我会得到一个我似乎无法强制转换为字符串对象的对象

df.loc[df.Age==15].Name
Out[11]:1 nick
Name: Name, dtype: object
type(df.loc[df.Age==15].Name)
Out[38]: pandas.core.series.Series

好的,它是一个系列,这很酷,获取第一个元素:

df.loc[df.Age==15].Name[0]
KeyError: 0

好吧,那没用,让我们索取实际的 key :

df.loc[df.Age==15].Name[1]
Out[40]: 'nick'

是啊!这样可行! ...但如果我知道实际的 key ,我一开始就不会进行查询!

如果我知道年龄,如何从这个名称字段中获取字符串值?在我的真实用例中,我知道 Age 是独一无二的。

最佳答案

正如@ayhan 在上面的评论中所说,您可以使用 pandas.Series.item()像这样:

>>> df.loc[df.Age==15, 'Name'].values.item()
'nick'

您还可以使用 pandas.Series.array :

>>> df.loc[df.Age==15, 'Name'].array[0]
'nick'

pandas.Series.to_numpy :

>>> df.loc[df.Age==15, 'Name'].to_numpy()[0]
'nick'

关于python - 从 .loc 查询返回一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60675117/

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