月下旬更新速递丨 实战场景深化、集成能力升级与开发进阶

初冬来临,一波热气腾腾的更新也准时抵达!我们聚焦实战技巧、集成增强与开发进阶,一系列新功能与新教程,助你在数据分析与系统开发的效率上再进一步。

一、实战技巧精讲

雷达图:多维度数据的“透视镜”,3步读懂数据真相》→ 聚焦雷达图核心应用场景,快速掌握多对象、多维度数据的可视化分析方法。

用图表解锁你的生活“数据密码”!》→ 探索图表在日常场景中的应用,让数据解读更直观、更具操作性。

二、直播上线

2025新特性实战解读(上)数据分析效率倍增秘籍》→ 解析2025新特性落地路径,助力实现数据分析效率成倍提升。

三、技术经验分享

【专家分享】数据排序的“权力游戏”:优先级规则决定谁先谁后》→解读高级排序的业务配置逻辑,让关键数据始终处于优先展示位置。

四、二次开发视频

扩展包开发知识点——前端改造》→从需求分析入手到最终实现的全流程讲解,帮助您快速入门上手Smartbi前端改造。

五、任务持续上线

【初级任务】解锁生活“数据密码”,可视化创意实践任务》→发起可视化创意任务,推动数据表达更生动、更具趣味性。

【初级任务】玩转雷达图解数据,200麦豆等你拿!》→推出雷达图实战任务,以激励方式提升多维数据分析技能。

六、全新素材上线

AD域(LDAP/LDAPS)登录验证V2》→扩展域账号登录支持,实现与企业Windows认证体系无缝对接。

数据模型:对接RestfulAPI接口》→打通数据模型与RestfulAPI对接通道,提升系统集成与数据获取效率。

计划任务:定时清空用户属性缓存→引入缓存自动清理机制,确保权限变更实时生效、业务数据及时更新。

用户同步:BI系统自定义用户所属组》→优化用户组同步逻辑,实现自定义组信息自动识别与补全。

审核流程:可以调用自助ETL》→增强审核流程集成能力,支持在用户任务节点直接调用自助ETL过程。

麦粉社区
>
帖子详情

python学习篇-pandas库(十三)

数据挖掘 发表于 2019-12-27 15:03
发表于 2019-12-27 15:03:11
DataFrame多重索引
1、根据多重索引创建DataFrame
  1. import pandas as pd
  2. import numpy as np
  3. df = pd.DataFrame(np.arange(12).reshape(6,2),index=[list('AAABBB'),list('123123')],columns=['col01','col02'])
  4. df
复制代码
812155e059f0b63132.png
2、多重索引设置列名称
  1. df.index.names = ['frist','second']
  2. df
复制代码
714035e059f7a916ca.png
3、多重索引分组求和
  1. df.groupby('frist').sum()
复制代码
918845e059fde90a6a.png
4、行列名称转换
  1. print(df)
  2. df.stack()
复制代码
766245e05a3bde131d.png
5、索引转换
  1. print(df)
  2. df.unstack()
复制代码
970555e05a4089cc9d.png
6、条件查找
创建数据集
  1. # 示例数据
  2. data = {'animal': ['cat', 'cat', 'snake', 'dog', 'dog', 'cat', 'snake', 'cat', 'dog', 'dog'],
  3.         'age': [2.5, 3, 0.5, np.nan, 5, 2, 4.5, np.nan, 7, 3],
  4.         'visits': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
  5.         'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}

  6. labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
  7. df = pd.DataFrame(data, index=labels)
  8. df
复制代码
815855e05a4ab3ed58.png
查找age大于3的全部信息
  1. df[df['age']>3]
复制代码
112425e05a55152ec8.png
7、根据行列索引切片
  1. df.iloc[2:4,1:3]
复制代码
844345e05a59df08ff.png
8、多重条件查询
  1. df[(df['animal']=='cat')&(df['age']<3)]
复制代码
120445e05a6591dc10.png
9、按关键字查询
  1. df[df['animal'].isin(['cat','dog'])]
复制代码
711615e05a6ce4ce9c.png
10、按标签及列名查询
  1. df.loc[df.index[[3,4,8]],['animal','age']]
复制代码
480955e05a73d31061.png
11、多条件排序
  1. # 按照 age 降序,visits 升序排列
  2. df.sort_values(by=['age','visits'],ascending=[False,True])
复制代码
830725e05a79b0a761.png
12、多值替换
  1. # 将 priority 列的 yes 值替换为 True,no 值替换为 False
  2. df['priority'].map({'yes':'True','no':'False'})
复制代码
193065e05a873829b2.png
13、分组求和
  1. df.groupby('animal').sum()
复制代码
300905e05a8b64be7b.png
14、使用列表拼接成多个DataFrame
  1. temp_df1 = pd.DataFrame(np.random.randn(5, 4))  # 生成由随机数组成的 DataFrame 1
  2. temp_df2 = pd.DataFrame(np.random.randn(5, 4))  # 生成由随机数组成的 DataFrame 2
  3. temp_df3 = pd.DataFrame(np.random.randn(5, 4))  # 生成由随机数组成的 DataFrame 3

  4. print(temp_df1)
  5. print(temp_df2)
  6. print(temp_df3)

  7. pieces = [temp_df1, temp_df2, temp_df3]
  8. pd.concat(pieces)
复制代码
451935e05a9143f69f.png
15、找出表中和最小的列
  1. df = pd.DataFrame(np.random.random(size=(5, 10)), columns=list('abcdefghij'))
  2. print(df.sum())
  3. df.sum().idxmin() # idxmax(), idxmin() 为 Series 函数返回最大最小值的索引值
复制代码
823265e05a9a31ff1a.png
16、DataFrame中每个元素减去每一行的平均值
  1. pd.DataFrame(np.random.random(size=(5,3)))
  2. print(df)
  3. df.sub(df.mean(axis=1),axis=0)
复制代码
149615e05aa717570a.png
17、DataFrame分组,并得到每一组中最大三个数之和
  1. df = pd.DataFrame({'A': list('aaabbcaabcccbbc'),
  2.                    'B': [12, 345, 3, 1, 45, 14, 4, 52, 54, 23, 235, 21, 57, 3, 87]})
  3. print(df)
  4. df.groupby('A')['B'].nlargest(3).sum(level=0)
复制代码
347995e05ab80e3546.png
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 0关注人数 6545浏览人数
最后回复于:2019-12-27 15:03
快速回复 返回顶部 返回列表