Python 3.x 无法将pandas中的groupby函数用于数据帧
我有一个包含100多行的数据框,其中我需要使用groupby提取w.r.t“High”列的值。但是我做不到 我的数据帧示例是:Python 3.x 无法将pandas中的groupby函数用于数据帧,python-3.x,pandas,pandas-groupby,Python 3.x,Pandas,Pandas Groupby,我有一个包含100多行的数据框,其中我需要使用groupby提取w.r.t“High”列的值。但是我做不到 我的数据帧示例是: Date Open High ... Volume Date Open High ... Volume 0 24-04-2020 1840.10 1851.60 ... 93384 1 23-04-2020 1
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\u frame
中,当我尝试使用data\u frame.groupby('High')
时,收到以下错误消息:
“ValueError:Grouper表示“高”而非一维”
你知道我该怎么解决这个问题吗 我认为问题在于标题,标题有多个索引,因此只指定一个列名会导致错误。 您可以使用
df.columns
设置列标题。如果要访问High
列,只需使用loc
或'data\u frame['High']
data_frame.columns = ['Date', 'Open', 'High', 'Volume'] #add more
如果要根据日期获取High
列的最大值,则必须在date
上使用groupby并投影High
列
data_frame.groupby(['Date'])['High'].max()
看起来dataframe标头重复了两次,这使得它是多维的。检查具有列名的前两行。是否应该只有一行?@MayankPorwal否,标题是两行的。那么如果标题在两行上,这就是问题所在,我猜它是多索引的,所以请尝试
data\u frame.groupby(('High','High'))
,但如果需要,我宁愿修复列possible@Ben.T谢谢你的建议。这对我有用。我如何在groupby之后仅打印此列中日期列的最大值?不确定是否理解此处的内容。如果您的数据仅为您提供的几行,您能否在问题中添加预期输出?