当前位置: 首页 > news >正文

福建网站建设网河南省建设资格注册中心网站

福建网站建设网,河南省建设资格注册中心网站,搜索关键词是什么意思,生成器在线制作pandas在处理Excel/DBs中读取出来#xff0c;处理为DataFrame格式的数据时#xff0c;处理方式和性能上有很大差异#xff0c;下面是一些高效#xff0c;方便处理数据的方法。 map/apply/applymaptransformagg遍历求和/求平均shift/diff透视表切片#xff0c;索引#x…pandas在处理Excel/DBs中读取出来处理为DataFrame格式的数据时处理方式和性能上有很大差异下面是一些高效方便处理数据的方法。 map/apply/applymaptransformagg遍历求和/求平均shift/diff透视表切片索引根据字段值取数据 数据准备 import pandas as pd from datetime import date import numpy as np begin_date date(2023, 3, 1) end_date date(2023, 3, 7) time_list [d_date.date() for d_date in pd.date_range(begin_date, end_date)] print(time_list) # 小黄小红小绿三个员工3月1号到7号之间的销售额数据 df2 pd.DataFrame({name: [小黄, 小黄, 小黄, 小黄, 小黄, 小黄, 小黄, 小红, 小红, 小红, 小红, 小红, 小红, 小红, 小绿, 小绿, 小绿, 小绿, 小绿, 小绿], d_date: [*time_list, *time_list, *time_list[:6]], value: np.random.randint(500, 5000, size20)})map/apply/applymap的用法介绍 # 计算每个员工在当天的总销售额的占比 sell_money_sum_s df2.groupby(d_date)[value].sum() df3 sell_money_sum_s.reset_index().rename(columns{value: sum})df4 pd.merge(df2, df3, ond_date, howleft)df4[ratio] df4[value] / df4[sum]# Series.map针对列元素进行操作处理完之后还是返回一个Series # 将销售额占比格式化成百分数并保留两位小数 df4[ratio_percent] df4[ratio].map(lambda x: %.2f%% % (x * 100))# apply对DataFrame的多列进行操作 # 对每个元素进行以万元为单位进行展示 df4[[value万元, sum万元]] df4[[value, sum]].apply(lambda x: x / 10000)# 将销售数据万元按列汇总使用参数axis0 df4[[value万元, sum万元]].apply(lambda x: x.sum(), axis0)# 将销售数据万元按行汇总使用参数axis1 df4[[value万元, sum万元]].apply(lambda x: x.sum(), axis1)# applymap函数是df的函数对比于Series.map针对处理数据集中每一个元素 df4.applymap(lambda x: f___{x}___)2. transform 通常如果像上述那样计算每日销售额占比数据需要先分组求和再通过一些字段比如d_date将两组数据merge通过列计算得到占比。但是transform有更简洁的操作。 df6 df2.copy()df6[sum] df6.groupby(d_date)[value].transform(sum)df6[ratio] df6[value] / df6[sum]可以得到每个人每天销售额的占比情况 3. agg 在指定轴上对一列或多列进行聚合 df7 df2.copy() # agg函数比较常见的使用场景分组对每组数据的聚合求和/最大值/最小值/均值等运算 df7.groupby(d_date).agg({name: last, d_date: last, value: max})# agg同样可以对一列或者多列进行求和 df7[value].agg(sum, axis0)# 如果我们想一次求出每天的销售额的最大值和最小值 df7.groupby(d_date).agg({value: [max, min]}).reset_index()4. 遍历 iterrows(): 将DataFrame迭代为(insex, Series)对。 itertuples(): 将DataFrame迭代为元祖。 iteritems(): 将DataFrame迭代为(列名, Series)对 5. 求和/求平均 数据准备 df_sum_mean df2.copy()# 分组求和只保留分组字段和求和数据 df_sum_mean.groupby(d_date)[value].sum().reset_index()# 分组求和保留原始记录的条数 df_sum_mean[sum] df_sum_mean.groupby(d_date)[value].transform(sum) df_sum_mean# 对多列进行聚合操作 df_sum_mean.groupby(d_date).agg({name: last, value: max, sum: last}).reset_index()6. shift/diff shift可以使用shift()方法对DataFrame对象的数据进行位置的前滞、后滞移动。 语法 DataFrame.shift(periods1, freqNone, axis0)periods可以理解为移动幅度的次数shift默认一次移动1个单位也默认移动1次(periods默认为1)则移动的长度为1 * periods。 periods可以是正数也可以是负数。负数表示前滞正数表示后滞。 freq是一个可选参数默认为None可以设为一个timedelta对象。适用于索引为时间序列数据时。 freq为None时移动的是其他数据的值即移动periods*1个单位长度。 freq部位None时移动的是时间序列索引的值移动的长度为periods * freq个单位长度。 axis默认为0表示对列操作。如果为行则表示对行操作。 移动滞后没有对应值的默认为NaN。 diffdataframe.diff()用于查找对象在给定axis上的第一个离散差值。我们可以提供一个周期值来转移以形成差异。 语法 DataFrame.diff(periods1, axis0)periods形成差异的时期要进行转移。 axis在行0或列1上取差。 数据准备 df_shift df2.copy() df_sell_amount df_shift.groupby(d_date)[value].sum().reset_index() df_sell_amount.rename(columns{value: amount}, inplaceTrue)# 查看每日销售额相较于前一天的变化幅度 df_sell_amount[amplification] df_sell_amount[amount] / df_sell_amount.shift()[amount] - 1# 更简单的方法 df_sell_amount[amount].pct_change()透视表 切片索引根据字段值取数据
http://www.laogonggong.com/news/117911.html

相关文章:

  • 万年县建设银行网站拼音全称建设网站及域名费用
  • 永嘉移动网站建设公司百度知道网页版
  • 石家庄网站到首页排名组建网站需多少钱
  • html网页模板网站模板下载做网站公司如何赚钱
  • 新桥企业网站建设罗湖区seo排名
  • 成都彩票网站开发网络维护网站美工
  • 微网站是官网的手机站wordpress分页 标题
  • 优秀网站优点设计模板在哪里找
  • 百度装修网站界面官方网站
  • 芮城做网站的机构有哪些好的模板网站
  • 哈尔滨建设网站公司吗设置WordPress注册
  • 如何使用mysql数据库做网站深圳知名室内设计公司
  • 怎么做网站架构网站模板下
  • php网站开发周期多长闵行网站建设多久能见效果
  • 校园文化建设网站湛江网站设计哪家好
  • 绍兴企业网站建站模板wordpress开发手册中文
  • 网站界面设计ps关键词可以分为哪三类
  • 瀑布流网站如何seo阜阳城乡建设局网站
  • 多国语言外贸网站模板灯具网站建设
  • 点击量高的网站教育培训机构加盟十大排名
  • 公司做网站都需要什么材料wordpress 闪图不
  • 关于工装设计的网站新公司注册资金多少较好
  • 微信网站的制作DW做网站下拉列表怎么做
  • 广州网站建设骏域环保地板iis7 网站打不开
  • 做a 视频在线观看网站写一个网页需要什么技术
  • 酒泉网站建设推广如何建设基层网站
  • 湖南省邵阳市建设局网站专门做特价的网站
  • 访问国外网站 速度慢wordpress百度地图api
  • 平湖网站建设公司克微小店适合卖做分类网站吗
  • 重庆綦江网站建设wordpress 下 刷文章