首页 > 解决方案 > 无法在 pandas 中将 groupby 函数用于数据框

问题描述

我有一个包含 100 多行的数据框,我需要在其中使用 groupby 提取值 wrt 'High' 列。但我无法做到。

我的数据框示例是:

           Date     Open     High  ...    Volume              
           Date     Open     High  ...    Volume 
0    24-04-2020  1840.10  1851.60  ...     93384      
1    23-04-2020  1786.00  1891.70  ...    453645     
2    22-04-2020  1746.00  1789.10  ...    103696      
3    21-04-2020  1775.00  1794.00  ...    149222

我已将数据框存储在一个变量中data_frame,当我尝试使用时data_frame.groupby('High'),我收到以下错误消息:

“ValueError:‘高’而不是一维的分组器”。

知道如何解决这个问题吗?

标签: python-3.xpandaspandas-groupby

解决方案


我认为问题出在标题上,标题具有多索引,因此仅指定一个列名会给您带来错误。您可以使用df.columns. 如果要访问该High列,则简单使用loc或 `data_frame['High']

data_frame.columns = ['Date', 'Open', 'High', 'Volume'] #add more 

如果要根据日期获取列的最大值High,则必须使用 groupby onDate并投影High列。

data_frame.groupby(['Date'])['High'].max()

推荐阅读