python basic3-zstarling

zstarling

    • 1. map 函数匹配。成字典。
    • 2. 分组模糊匹配。
    • 3. 折线图的数据标签显示
    • 4. set_xticks() 无法识别列表
    • 5. set_xticklabels()会缺少一个值
    • 6. dtype()查看数据类型 ,astype()修改数据类型。
    • 7. object是指数值里有一个值是字符串类型,整体可以指字符串类型。
    • 8. 判断某一字段的值是否存在在另一字段中
    • 9. contains多个字符串包含
    • 10. 追加写入csv
    • 11. query 多条件索引及多字段查询
    • 12. dataframe 多级索引父行占比

python

1. map 函数匹配。成字典。

  • 法1:
dict_1=dict(zip(qhcs_nc['姓名'],qhcs_nc['是否切换区域']))
jsmb1['是否切换城市']=jsmb1['员工\n编号'].map(dict_1)
  • 法2:
dict1=pd.read_excel(data1,sheet_name="职级").set_index('职级')['对应等级'].to_dict()
raw_data['对应等级']=raw_data['职级'].map(dict1)

2. 分组模糊匹配。

(if 函数)

3. 折线图的数据标签显示


4. set_xticks() 无法识别列表

传输列表只能是数值列表{且是原始列表}

5. set_xticklabels()会缺少一个值

(必须结合set_xticks使用,否则会丢失第一个值)

def zuhe(i, j, x, y, z, w):fig, ax1 = plt.subplots(figsize=(14, 8))ax2 = ax1.twinx()x1 = np.arange(len(x))bar1 = ax1.bar(x1, y, color='orange', label="人数", width=0.3)bar2 = ax1.bar(x1+0.3, z, color='gray', label="平均产能", width=0.3)pl1 = ax2.plot(x1+0.15, w, color='yellow', label="成本率")title = "%s人员产能及薪酬-%s" % (j, i)ax1.set_title(title)ax1.bar_label(bar1)ax1.bar_label(bar2, fmt='%d')ax1.set_xticks(x1+0.15)  # x轴标签的位置右移0.15(没有set_xticklabels时会以此值为轴标签显示)ax1.set_xticklabels(x.values) # x轴标签的值ax1.legend(loc='best', frameon=False)ax2.legend(loc='right', frameon=False)plt.savefig("%s.png" % title, format="png")for i in yewu:for j in dengji:x = raw_data[(raw_data['业务'] == "%s" % i) & (raw_data['对应等级'] == "%s" % j)]['职级']y = raw_data[(raw_data['业务'] == "%s" % i) & (raw_data['对应等级'] == "%s" % j)]['人数']z = raw_data[(raw_data['业务'] == "%s" % i) & (raw_data['对应等级'] == "%s" % j)]['平均产能']w = raw_data[(raw_data['业务'] == "%s" % i) & (raw_data['对应等级'] == "%s" % j)]['成本率(元效)']# zhuzhuang(i, j, x, y, z)zuhe(i, j, x, y, z, w)

6. dtype()查看数据类型 ,astype()修改数据类型。

7. object是指数值里有一个值是字符串类型,整体可以指字符串类型。

8. 判断某一字段的值是否存在在另一字段中

  • 法1
# 缺少的城市法1(复杂度较高)
pro_city2=tai1[tai1.astype(str).apply(lambda x:x.pro_city2 not in x.pro_city1,axis=1)]['pro_city1'].unique
da2=tai1[tai1.astype(str).apply(lambda x:x.二网经销商市 not in x.城市,axis=1)]
da2.drop_duplicates(['二网经销商市'])['二网经销商市']
da2.drop_duplicates(['二网经销商省'])['二网经销商省']
  • 法2
## 缺少的城市法2
list_pro=[]
for i in pro1:if i not in list(pro2):list_pro.append(i)
len(list_pro)
  • 法3
## 缺少的城市法3
tai["判断列"]=np.where(tai['二网经销商市'].isin(list(data1['城市'])),1,0)
len(set(tai[tai["判断列"]==0]['二网经销商市']))

9. contains多个字符串包含

# contains多个字符串包含,用|表示,且在一个引号内
jsmb['是否虚拟']=np.where(jsmb['岗位'].str.contains('常规|虚拟'),"是","否")
jsmb['是否虚拟'].value_counts()

10. 追加写入csv

# 追加写入csv 
for  i in range(1,7):lujing=r"D:\ZXL工作文件\Jupyter\补录表\存量%s收入.xlsx" %ibuchong=pd.read_excel(lujing)buchong.to_csv('da1.csv',encoding='GBK',index=False,mode="a",header=False)

11. query 多条件索引及多字段查询

yytz_cp_pivot=yytz_cp.pivot_table(values=['融资金额付款审批','融资金额*期限','融资额*期限*X','融资额*期限*利率','产品'],index=["新车or二手车","渠道描述区域",'万元系数1'],columns="月份",aggfunc={'融资金额付款审批':"sum",'融资金额*期限':"sum",'融资额*期限*X':"sum",'融资额*期限*利率':"sum",'产品':"count"},margins=True)yytz_cp_pivot.query('新车or二手车=="二手车"')
yytz_cp_pivot.query('新车or二手车=="二手车" and 渠道描述区域=="%s"'%quyu)
yytz_cp_pivot[('产品',4)]yytz_cp_pivot['单量父级占比4']=round(yytz_cp_pivot[('产品',4)].sum(level=["新车or二手车","渠道描述区域",'万元系数1'],axis=0)/yytz_cp_pivot[('产品',4)].sum(level=["新车or二手车","渠道描述区域"],axis=0),4)
yytz_cp_pivot['单量父级占比5']=round(yytz_cp_pivot[('产品',5)].sum(level=["新车or二手车","渠道描述区域",'万元系数1'],axis=0)/yytz_cp_pivot[('产品',5)].sum(level=["新车or二手车","渠道描述区域"],axis=0),4)
yytz_cp_pivot['单量父级占比6']=round(yytz_cp_pivot[('产品',6)].sum(level=["新车or二手车","渠道描述区域",'万元系数1'],axis=0)/yytz_cp_pivot[('产品',6)].sum(level=["新车or二手车","渠道描述区域"],axis=0),4)

12. dataframe 多级索引父行占比

yytz1=yytz_cp.pivot_table(values=['产品'],index=["新车or二手车","渠道描述区域",'万元系数1'],columns="月份",aggfunc={'产品':"count"})
yytz1['分子']=yytz1['产品'].sum(level=["新车or二手车","渠道描述区域",'万元系数1'],axis=0)
yytz1['分母']=yytz1['产品'].sum(level=["新车or二手车","渠道描述区域"],axis=0)
yytz1['占比']=yytz1['分子']/yytz1['分母']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/193229.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一题(LeetCode)----哈希表--四数之和

每日一题(LeetCode)----哈希表–四数之和 1.题目(18. 四数之和) 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四…

python——多线程的相关知识点总结

​​​​ 1.进程和线程的区别? 进程是操作系统分配资源的最小单位,每个进程都有自己独立的内存空间和系统资源。线程是操作系统能够进行运算调度的最小单位,它是进程内的基本单位,一个进程可以包含多个线程,这…

第二十三章 指定元素和属性的命名空间 - 指定映射为属性的属性的名称空间

文章目录 第二十三章 指定元素和属性的命名空间 - 指定映射为属性的属性的名称空间指定映射为属性的属性的名称空间为命名空间指定自定义前缀推荐 第二十三章 指定元素和属性的命名空间 - 指定映射为属性的属性的名称空间 指定映射为属性的属性的名称空间 本节描述如何为映射…

[c]求逆序数

#include<stdio.h> int main() {int n,i,count;scanf("%d",&n);int arr[n];count0;for(i0;i<n-1;i){scanf("%d",&arr[i]);}for(int j0;j<n-2;j)//注意是小于等于n-2&#xff0c;因为倒数第一个元素后面没有数了&#xff0c;不需要比较…

CSC173 Boolean Logic and Boolean Circuits

We have provided code for a simple Boolean circuit simulator written i n C

韵达速递查询,韵达速递单号查询,对需要的单号进行备注

批量查询韵达速递单号的物流信息&#xff0c;对需要的单号进行备注。 所需工具&#xff1a; 一个【快递批量查询高手】软件 韵达速递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;并登录 步骤2&#xff1a;点击主界面左上角的“…

12.整数转罗马数字

C不能像Python那样使用c*num的形式&#xff0c;重复字符&#xff0c;老老实实减吧。 class Solution { public:string intToRoman(int num) {string ans "";int res num;while (res ! 0) {if (res > 1000) {ans M;res - 1000;} else if (res > 900) {ans …

基于SpringBoot + vue的在线视频教育平台

qq&#xff08;2829419543&#xff09;获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;springboot 前端&#xff1a;采用vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xf…

王炸cpu-龙芯3A6000

国产 CPU 性能媲美 Intel 酷睿这事儿&#xff0c;可能真的已经实现了。 没错&#xff0c;那颗有着多次爆料拉满大家期待值的龙芯 3A6000&#xff0c;终于正式发布。 就在今天上午&#xff0c;龙芯中科在 2023 年龙芯产品发布暨用户大会上正式带来了这颗 CPU。 整场发布会 PPT …

【选择题】校招笔试选择题第一辑

题目 以下程序的运行结果是&#xff08; &#xff09; #include <stdio.h> int main(void) {printf("%s , %5.3s\n", "computer", "computer");return 0; }A. computer , puter B. computer , com C. computer , computer D. computer…

半导体封装之倒装封装 (Flip Chip)

倒装封装 &#xff08;Flipchip&#xff09;是相对于引线键合(Wire Bonding)来说的&#xff0c;之所以叫做倒装&#xff0c;是因为flip chip是正面朝下放置。倒装芯片技术是通过芯片上的凸点直接将元器件朝下互连到基板、载体或者电路板上。引线键合的连接方式是将芯片的正面朝…

数据结构-基数排序

基数排序 基本思想 基数排序其实就是依靠多位关键字进行排序&#xff0c;现在我们有一个数据为101&#xff0c;那么“101”就是一个三位 关键字&#xff0c;分别为&#xff1a;“百位->1”、“十位->0”、“个位->1”。 此时我们就可以按照三位关键字进行排序&…

笔记本电脑关闭触摸板

大部分人用笔记本 其实都是外接的鼠标 那么在打游戏 以及一些切图操作中 为了防止碰到触摸板导致误操作 我们就可以将他关掉 我们可以按快捷键 Win i 或者 点击桌面 此电脑/我的电脑/此计算机 打开设置界面 如果 左侧菜单中有设备 那么 直接点击设备 然后左侧菜单就会有 触摸…

详细了解 MOSFET 晶体管

MOSFET 开关晶体管 MOS 管是 “金属&#xff08;Metal&#xff09;氧化物&#xff08;Oxide&#xff09;半导体&#xff08;Semi&#xff09;” 场效应晶体管&#xff0c;或者称是 “金属&#xff08;Metal&#xff09;绝缘体&#xff08;Insulator&#xff09;半导体&#xf…

2022CVPR(PoseC3D):Revisiting Skeleton-based Action Recognition

Revisiting Skeleton-based Action Recognition 摘要1、引言2、相关工作3、框架3.1. 姿势提取的良好实践3.2.从2D姿势到3D热图体积3.3.基于骨架的动作识别的3D-CNN 4、实验4.2.姿势提取4.3. 3D热图体积的预处理4.4.与GCN的比较4.5. RGBPose-SlowFast4.6.与最先进的比较 5、结论…

项目开发维护技术文档(梳理总结中)

目录 项目名称——惠誉灵境 一、项目背景 二、架构设计 1.技术栈 2.架构图 3.代码结构 三、模块划分 1.平台首页 2.登录模块 3.系统模块 &#xff08;1&#xff09;系统首页 &#xff08;2&#xff09;组织架构 &#xff08;3&#xff09;权限管控 ①角色管理 &#xff08;4&am…

excel 底部不显示sheet 名称,怎么设置可以现实

在Excel中&#xff0c;如果底部不显示工作表名称&#xff0c;可能是因为工作表选项设置的问题。你可以按照以下步骤检查和更改这个设置&#xff1a; 1. 打开Excel文件&#xff1a; 打开你的Excel文件。 2. 点击右键&#xff1a; 在工作表标签&#xff08;位于底部的标签栏&am…

【蓝桥杯】带分数

带分数 题目要求用一个ab/c的形式得到一个值&#xff0c;而且只能在1~9里面不重复的组合。 可以对1~9进行全排列&#xff0c;然后不断划分区间。 #include<iostream> #include<vector> using namespace std; int st[15]; int num[15]; int res; int n;int calc(i…

如何成为一名高效的前端开发者(10X开发者)

如今&#xff0c;每个人都想成为我们所说的“10倍开发者”。然而&#xff0c;这个术语经常被误解和高估。 本质上&#xff0c;一个高效或者10倍开发者&#xff0c;在我看来&#xff0c;是指那些能够充分利用所有可用工具的人&#xff0c;通过让这些工具处理冗余和重复的任务&am…

C语言-联合和枚举

------------------------------------ --------------- ------ 最慢的步伐不是跬步&#xff0c;而是徘徊&#xff1b; 最快的脚步不是冲刺&#xff0c;而是坚持。 今天来到我们的联合和枚举类型的讲解&#xff1a; 目录 联合体类型 联合体类型的声明 联合体类型的特点 …