Python Pandas Dataframe基于A列拉取B列的单元格值

问题描述 投票:0回答:2

在这里挣扎。可能会遗漏一些非常容易的东西,但是在试图学习Python并且意识到这可能不会为我解决这个问题时,我的头在我的桌子上。

我有一个数据框df,需要根据A列的值拉取B列的值。

以下是我可以告诉您的数据集应该更容易的内容。 A列是独一无二的(FiscalYear),但尽管是一年被转换为to_numeric。 B列并非特别独特(销售),而且A列也被转换为to_numeric。这是我一直在尝试的,因为我在使用idx max查找销售价值时能够做到这一点。但是在特定值处,这会返回错误:

v = df.at[df.FiscalYear == 2007.0, 'Sales']

我正在接受ValueError: At based indexing on an integer index can only have integer indexers我确信我做错了什么,但我不能完全指责它。

这是代码,对我有用。

v = df.at[df.FiscalYear.idxmax(), 'Sales']

那里没有问题,返回正确的价值等。

任何帮助表示赞赏。我看到了一堆类似的线程,但由于某些原因,搜索和盲目编写代码行是我今晚失败的原因。

python pandas dataframe
2个回答
1
投票

你可以使用.loc方法

df.Sales.loc[df.FiscalYear==2007.0]

这将是熊猫系列类型的对象。如果你想在列表中你可以做到:

df.Sales.loc[df.FiscalYear==2007.0].tolist()

0
投票

你能试试这个:

v = df.at[df.FiscalYear.eq(2007.0).index[0], 'Sales']
© www.soinside.com 2019 - 2024. All rights reserved.