我的数据框看起来像这样
+---+---+---
| A| B| C|
+---+---+---
| 1| 3| 1|
| 2| 1| 1|
| 2| 3| 1|
| 1| 2| 1|
| 3| 1| 1|
| 1| 2| 1|
| 2| 1| 1|
| 1| 3| 1|
| 1| 2| 1|
+---+---+---
我想将数据减少到仅按降序排序的两列(A和B)的最频繁组合 输出应该看起来像
+---+---+-----+
| A| B|count|
+---+---+-----+
| 1| 2| 3|
| 2| 1| 2|
+---+---+-----+
我写了这段代码,但没有排序
import pandas as pd
import numpy as np
data=pd.read_csv("file.csv",sep=',')
gps = data[['A','B','C']]
gps1=gps.groupby(['A','C'])
gps1=gps1.count()
gps1.columns=['count']
gps1.sort_values(['count'],ascending=False)
print(gps1)
答案 0 :(得分:2)
您需要将<canvas id="canvasId" style="border: solid"></canvas>
的结果分配回sort_values()
或使用`inplace = True:
gps1
或
gps1.sort_values(['count'],ascending=False, inplace=True)
正如sort_values的文档中所述,gps1 = gps1.sort_values(['count'],ascending=False)
默认设置为inplace
答案 1 :(得分:1)