我有一个数据框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']
没有问题,返回正确的值等等。
感谢任何帮助。我看到了一堆类似的线程,但由于某些原因,搜索并盲目地编写代码行是我今晚失败的。
答案 0 :(得分:1)
你可以使用.loc方法
df.Sales.loc[df.FiscalYear==2007.0]
这将是pandas系列类型的对象。 如果你想在列表中找到它,你可以这样做:
df.Sales.loc[df.FiscalYear==2007.0].tolist()
答案 1 :(得分:0)
你可以试试这个:
v = df.at[df.FiscalYear.eq(2007.0).index[0], 'Sales']