Python 找到';最大值';使用Pandas设置特定列的值,然后将该值与同一行中的相应项一起输出

Python 找到';最大值';使用Pandas设置特定列的值,然后将该值与同一行中的相应项一起输出,python,arrays,pandas,numpy,lambda,Python,Arrays,Pandas,Numpy,Lambda,我知道如何找到“CONTRCOST”列的最大值,但如何获取相应的值并将这两条信息输入到字符串中,就像它要求我做的那样?我相信这会满足您的要求。函数的作用是:返回具有最大值的行的索引。如果有多个,则返回第一个 import pandas as pd data = [{'id':0,'city':'Chicago','contrcost':1000000.00}, {'id':1,'city':'New York','contrcost':2000000.00}, {'id':2,'city':'

我知道如何找到“CONTRCOST”列的最大值,但如何获取相应的值并将这两条信息输入到字符串中,就像它要求我做的那样?

我相信这会满足您的要求。函数的作用是:返回具有最大值的行的索引。如果有多个,则返回第一个

import pandas as pd

data = [{'id':0,'city':'Chicago','contrcost':1000000.00},
{'id':1,'city':'New York','contrcost':2000000.00},
{'id':2,'city':'Boston','contrcost':1000000.00},
{'id':3,'city':'Atlanta','contrcost':1000000.00},
{'id':4,'city':'Los Angeles','contrcost':2000000.00}]

df = pd.DataFrame(data)
max_index = df['contrcost'].idxmax()
print('City with the contract that has the greatest cost: {:s} (contract cost is ${:.2f})'
.format( df.iloc[max_index]['city'], df.iloc[max_index]['contrcost']))

输出:合同成本最高的城市:纽约(合同成本为2000000.00美元)

请提供预期成本。显示中间结果与您预期的不同之处。我们应该能够复制和粘贴一个连续的代码块,执行该文件,并再现您的问题以及跟踪问题点的输出。这让我们可以根据您的测试数据和期望的输出来测试我们的建议。重复:/questions/3557092/pandas在列中找到最大值并打印其行这非常有效!尽管我有一个问题:它如何在另一行返回print语句的后半部分?冒号后面的部分。不应该。我只是将上面代码框中的内容剪切粘贴到ipython中并执行它,它只打印了一行。不经意间,它应该出现在第二行的唯一方式是在冒号或两个print语句之后有换行符“\n”。也许我误解了这个问题。如果在执行代码时询问应该在一行上的输出,如果窗口很窄,则采用模换行。如果您询问代码本身,以及.format为什么在第二行,这是一个编码风格的决定。人们通常不赞成排很长的队。打印行是90个字符,许多样式指南会说这太长(80是一个常见的限制)。如果我没有将.format单独放在一行中,它将有160个字符长,这肯定太长了。希望能有帮助。老实说,原来的答案正是我需要的。这帮了大忙。我后来的评论是我犯的错误,但我只是想澄清一下,你的第一个答案是完美的。谢谢