【扩展命令 插件】数据表处理,对数据库进行高级排序、分类汇总等操作

诺亚方舟 10月前 556

新插件数据表处理,对数据库进行高级排序、分类汇总等操作

构建数据表

_【扩展命令 插件】数据表处理,对数据库进行高级排序、分类汇总等操作


示例:

data = [["序号","商品名称","颜色","单价"],[1,"运动鞋","白色",150],[2,"皮鞋","黑色",200]]
objDF = Noah.Build(data)

或者:

data={"序号":[1,2],"商品名称":["运动鞋","皮鞋"],"颜色":["白色","黑色"],"单价":[150,200]}
objDF = Noah.Build(data)


利用 Excel 的读取区域命令获得的二维表,可以作为 data 使用。


构建数据表要求二维数组的第一行为标题行,如果是一个没有标题行的二维数组,构建前先添加标题行。

data=[[1,"运动鞋","白色",150],[2,"皮鞋","黑色",200]]
Unshift(data,["序号","商品名称","颜色","单价"])

或者不想起标题名,按下面这样也行:

data=[[1,"运动鞋","白色",150],[2,"皮鞋","黑色",200]]
Unshift(data,["A","B","C","D"])


数据表转数组

_【扩展命令 插件】数据表处理,对数据库进行高级排序、分类汇总等操作


数据表转数组会强制包含列标签,但是否包含行标签,可以由用户决定。


数据表高级排序

_【扩展命令 插件】数据表处理,对数据库进行高级排序、分类汇总等操作


示例表格如下:

_【扩展命令 插件】数据表处理,对数据库进行高级排序、分类汇总等操作


排序命令:

objDF=Noah.order(df,["班级","语文"],[true,False],[["一班","二班","三班","四班","五班"]])


排序结果如下:

姓名 性别  班级  语文   数学  英语

1  李四  男  一班  35   97  63
6  牛五  男  一班  35   41  63
2  杨十  男  二班  60   68  77
9  丁一  女  二班  50   57  34
0  张三  男  三班  74   92  60
4  任七  女  三班  53   58  31
3  杜六  女  四班  75   57  71
7  杜九  女  四班  30   71  69
8  蒋八  男  五班  46   54  43
5  王二  男  五班  33  100  58


在示例中,首先按班级升序排列,班级相同的按语文降序排列,另外就是班级使用自定义序列去排序,因为默认的汉字是按照拼音首字母排列,无法达到要求。


数据表分类汇总

_【扩展命令 插件】数据表处理,对数据库进行高级排序、分类汇总等操作


示例表格如下:

_【扩展命令 插件】数据表处理,对数据库进行高级排序、分类汇总等操作


汇总命令:

objDF=group(objDF,"班级",{"数学":"mean","英语":"count","语文":"max"})


汇总结果如下

班级  数学mean  英语count  语文max
0  一班    69.0        2     35
1  三班    75.0        2     74
2  二班    62.5        2     60
3  五班    77.0        2     46
4  四班    64.0        2     75


在示例中,我们按“班级”进行汇总,采用三种计算方式,其中数学取的是全班单科平均分,英语取的是有成绩人数,语文取的是全班单科最高分。


汇总命令:

objDF=group(objDF,"班级",{"语文":["mean","max","sum"]})


汇总结果如下:

班级    语文         
       mean max  sum
0  一班  35.0  35   70
1  三班  63.5  74  127
2  二班  55.0  60  110
3  五班  39.5  46   79
4  四班  52.5  75  105


在本示例中,我们按“班级”进行汇总,采用三种计算方式,分别取语文的全班平均分,语文的全班最高分,语文的全班总分和。


group 常用的汇总计算命令:

_【扩展命令 插件】数据表处理,对数据库进行高级排序、分类汇总等操作


安装方法:Uibot  获取扩展命令 - 数据表处理



最新回复 (3)
  • Song. 10月前
    2
    非常很有用,感谢分享。
    有个问题,objDF=group(objDF,"班级",{"语文":["mean","max","sum"]}),这里是写错了,还是是这样写!
  • 诺亚方舟 9月前
    3
    Song. 非常很有用,感谢分享。 有个问题,objDF=group(objDF,"班级",{"语文":["mean","max" ...
    没有写错,这条语句就是这么写,因为要对语文成绩分别给出三种计算方式,生成三列数据,分别是语文平均分,语文最高分,语文总分和。
  • 4
    多列求和可以吗
返回
发新帖