我对Python编程比较陌生。。我有一个数据帧,df-我需要从中提取两个列的组合,这两个列的出现次数最多
我遵循下面的思考过程 -按请求的2列对数据帧进行分组 -对属于每个分组的行(因此使用axis=0)进行计数 -根据为每个唯一组/组合提取的行数,我尝试对这些行进行排序
下面的代码
output = df.groupby(['column1','column2']).count().sort_values(by=['column1','column2'], axis = 0)[0]
Getting some error like this:
in get_loc return self._engine.get_loc(key)
resulting into this exception:
in get_loc return self._engine.get_loc(self._maybe_cast_indexer(key))
谢谢你的帮助
您的错误是由行末尾的
[0]
引起的,您在该行中执行groupby
。您没有发布完整的错误消息,但我敢打赌您有一个KeyError: 0
。这是因为索引中不再有0
。如果您查看在groupby
之后创建的DataFrame
,您将看到现在有一个层次索引,它是由column1
和column2
的唯一值组合创建的。你知道吗快速解决方案?将
[0]
替换为.iloc[0]
,以获取零索引位置中的行。你知道吗或者使用
.head(1)
,获取DataFrame
的顶行。你知道吗相关问题 更多 >
编程相关推荐