【问题标题】:How to find the highest value of the each row with number of columns and print them?如何找到具有列数的每一行的最大值并打印它们?
【发布时间】:2019-10-15 12:50:14
【问题描述】:

我有一个包含 1000 多行和 50 列的 csv 文件。每行都有值(即 0.554562),每列都有相同类型的值:

以我的csv文件为例():

       Albany  Ukraine  Germany  Swiss   England

kevin  0.5655  0.5777   0.3232   0.1212  0.9595

brayan 0.4655  0.2777   0.1232,  0.9212  0.5595

alex   0.1655  0.2777   0.3232   0.1212  0.9795

现在我想在每一行中找到最高值并创建新列并添加如下:

        Albany Ukraine Germany Swiss  England highest

kevin   0.5655 0.5777  0.3232  0.1212 0.9595  0.9595

brayan  0.4655 0.2777  0.1232  0.9212 0.5595  0.9212

alex    0.1655 0.2777  0.3232  0.1212 0.9795  0.9795

我已经在这里查看了一些帖子,例如12,但没有一个对我有帮助。

如果您能提供代码帮助,我可以在我身边运行并学习,那就太好了。谢谢

补充:还有什么办法可以说凯文的最高概率[0.9595]属于英格兰?

【问题讨论】:

标签: python pandas csv numpy dataframe


【解决方案1】:

处理axis=1(行)并使用max分配一个新列

df["highest"] = df.max(axis=1)

使用idxmax 会告诉你在哪里最大的谎言

top_prob = df.idxmax(axis=1)

【讨论】:

  • 感谢您的好评。我现在能够在新列中找到并打印出最高值,但是对于您提到的使用top_prob = df.idxmax(axis=1) 的第二部分,在我的第一列中是国家名称(以及列标题)未命名),它正在阻止该过程,并且我收到错误消息:TypeError: reduction operation 'argmax' not allowed for this dtype 你有什么建议来解决这个问题吗?谢谢
猜你喜欢
  • 2019-08-30
  • 1970-01-01
  • 1970-01-01
  • 2021-09-15
  • 2015-07-07
  • 2012-01-16
相关资源
最近更新 更多