Python Pandas 获取一个文本值

use*_*876 1 python pandas

我有一个信息数据框。一列是一个等级。我只想找到排名为 2 的行并获取另一个列项(称为“名称”)。我可以找到该行并获取名称,但它不是可以添加到其他文本的纯文本项。它是一个对象。

我如何获取文本形式的名称?

代码:

print "The name of the 2nd best is: " + groupDF.loc[(DF['Rank']==2),'Name']
Run Code Online (Sandbox Code Playgroud)

这给了我行的 id 和Name. 我只想Name

这就是我得到的:

4    The name of the 2nd best is: Hawthorne

    Name: CleanName, dtype: object
Run Code Online (Sandbox Code Playgroud)

我只是不知道要搜索什么才能得到答案。我得到了很多其他的东西,但没有这个答案。

提前致谢。

fei*_*ldt 5

更详细一点:

我知道你有一个这样的数据框:

names = ["Almond","Hawthorn","Peach"]
groupDF = pd.DataFrame({'Rank':[1,2,3],'Name':names})
Run Code Online (Sandbox Code Playgroud)

groupDF.loc[(groupDF['Rank']==2),'Name']给你一个 Series 对象。如果排名是唯一的,则以下两种可能性之一都有效

groupDF.loc[(groupDF['Rank']==2),'Name'].item()
Run Code Online (Sandbox Code Playgroud)

或者

groupDF.loc[(groupDF['Rank']==2),'Name'].iloc[0]
Run Code Online (Sandbox Code Playgroud)

结果:

'Hawthorn'
Run Code Online (Sandbox Code Playgroud)

如果排名不唯一,第二个仍然有效,并为您提供第一个命中,即由命令创建的 Series 对象的第一个元素。