当前位置: 首页 > 知识库问答 >
问题:

如何使用idxmax输出子集数据帧列?

郎宏浚
2023-03-14

我有一个数据框:

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,40,size=(10,4)), columns=range(4), index = range(10))
df.head()

    0   1   2   3
0  27  10  13  21
1  25  12  23   8
2   2  24  24  34
3  10  11  11  10
4   0  15   0  27

我使用idxmax函数来获取包含最大值的列。

df_max = df.idxmax(1)
df_max.head()

0    0
1    0
2    3
3    1
4    3

如何使用df_maxdf一起创建一个时间序列值,对应于df每行中的最大值?这是我想要的输出:

0    27
1    25
2    34
3    11
4    27
5    37
6    35
7    32
8    20
9    38

我知道我可以通过df实现这一点。max(1),但我想知道如何通过使用df_max获得相同的输出,因为我想能够将df_max应用于其他矩阵(不是df),它们与df共享相同的列和索引(但不是相同的值)。

共有1个答案

花欣然
2023-03-14

你可以试试df。查找

df.lookup(df_max.index, df_max)

Out[628]: array([27, 25, 34, 11, 27], dtype=int64)

如果需要Series/DataFrame,可以将输出传递给Series/DataFrame构造函数

pd.Series(df.lookup(df_max.index, df_max), index=df_max.index)

Out[630]:
0    27
1    25
2    34
3    11
4    27
dtype: int64
 类似资料:
  • 本文向大家介绍如何使用grepl函数对R数据帧的行进行子集化?,包括了如何使用grepl函数对R数据帧的行进行子集化?的使用技巧和注意事项,需要的朋友参考一下 R中的grepl函数在R数据帧的字符向量或列的每个元素内搜索与参数模式的匹配项。如果我们想使用grepl对R数据帧的行进行子集化,则可以通过访问包含字符值的列来使用带有单方括号和grepl的子集。 例1 请看以下数据帧: 输出结果 通过在x

  • 问题内容: 我有一个我希望导出到CSV文件的文件。但是,pandas似乎将某些值而不是类型写为。我找不到如何更改此行为。 建立数据框: 查看: 导出它: 为什么十位数有一个零点? 当然,我可以将此函数粘贴到管道中以重新转换整个CSV文件,但似乎没有必要: 问题答案: 我正在寻找的答案与@Jeff在答案中提出的内容略有不同。功劳归于他。最终解决了我的问题,以供参考:

  • 我正试图更好地理解Python以及为什么我会收到错误。 我有一个带有国家名称的数据框,我想过滤数据集,只显示那些没有重复项的数据。我进入: 然而,我得到一个错误 似乎创建了一个列表,该列表还显示了国家名称和布尔值,而不仅仅是我所期望的布尔值。 此外,我尝试只对一个国家进行过滤,即,,效果非常好。 我只是想理解为什么在一个场景中它起作用,而在另一个场景中它不起作用。我确实注意到后者有一个从0开始的索

  • 我不能把我的头围绕轴参数,它包含什么以及如何使用它来制作子情节。 如果有人能解释一下下面的例子,我将不胜感激 更具体地说,以下是我理解的部分(至少我认为我理解) plt。子图返回一个元组,该元组包含图形和轴对象(链接) enumerate()返回一个元组,其中包含功能的索引及其名称(链接) df。绘图使用列名将数据放在图中的子绘图上 这是我不明白的 轴对象包含什么?同样,基于留档和这个答案,我意识

  • 给定一个数据帧say,包含100列和100行,我需要列的子集。我想同时索引两个(或多个)列块。 例如,我想要的是: (显然,这不起作用) 但是我想要第1列到第20列以及第55列到第57列。我可以用两个单独的操作来实现这一点,并将它们连接起来,但我想知道是否有一个功能可以让这一点只需一次(我知道R有这个功能,因此好奇)。 编辑:我在这里发现了一个类似的问题,但答案是字符串。可以进行多个子集设置的解决

  • 我有一个df,看起来像这样: 所需的输出如下所示: 我试图删除基于列B的重复行。然而,当我运行时 我得到以下错误: 我正在从python 3运行pandas 0.19.1,因此我在这里查看了文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duplicates.html 对于,我没有最模糊的