首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基尼系数直接计算法_基尼系数简单计算方法

# 执行函数输出结果 gini() # 结果为 0.3109641735512392 画出来图: 方法二: 近似的求上图中面积,将其分割成多个梯形,通过近似计算多个梯形面积,将其加得到蓝色线条线条下面的面积...,表示这个位置原来值属于1到n哪个组 y = m.groupby(by = m).size().cumsum() # 得到每个分组最后一个数位置在哪里 # size表示每个组里面有多少个元素...但可能有助于基尼系数近似计算理解,所以放在了这里。 方法三 样本数量能够被分组数均匀分配情况(仅适用于这个情况),更好方法详见方法二。 数据精确度可能还会受样本量分组关系。...本文中采用100个样本分成100/20/50都是可均匀分配情况。如果不能均匀分配,可能取m方式需要优化,应该采取python内含最大力度均匀分组函数。...# 第二个方法 #只适用于样本数量能够被分组数量整除情况 # 接着上面的定义 n = 100 #分成100个组,100个数据分成100个组,每个点点之间梯形都计算其面积,‘最精确近似‘ m =

1.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用Python复现一篇Nature研究: 1.数据下载及预处理

    所涉及Python库有 wget , matplotlib , numpy ,xarray , pytorch 等一系列在深度学习以及气象数据处理中经常使用函数库,希望这篇文章能够大家有所帮助。...数据下载与预处理 由于神经网络预训练数据需要cmip模式数据,训练、验证时需要观测数据,因此我们首先需要数据进行下载。...我们根据上述规律,使用wget就可以很简单下载数据了。 接下来是处理CMIP数据,为了统一语言,我使用python中xarray来处理、merge文件。缺点是很慢,优点是易学。...下面的脚本中,merge nc文件主要函数是concat,需要输入一系列网格相同Dataarray,然后在time维度上进行统一。非常建议统一时间,以免后期出幺蛾子。.../ersstv5D" fList = os.listdir(fileLoc) # 下载nc文件进行合并 ncList = [] for FileName in fList: nc = xr.open_dataset

    1.3K32

    用Python复现一篇Nature研究: 1.数据下载及预处理

    所涉及Python库有 wget , matplotlib , numpy ,xarray , pytorch 等一系列在深度学习以及气象数据处理中经常使用函数库,希望这篇文章能够大家有所帮助。...数据下载与预处理 由于神经网络预训练数据需要cmip模式数据,训练、验证时需要观测数据,因此我们首先需要数据进行下载。 ?...我们根据上述规律,使用wget就可以很简单下载数据了。 接下来是处理CMIP数据,为了统一语言,我使用python中xarray来处理、merge文件。缺点是很慢,优点是易学。...下面的脚本中,merge nc文件主要函数是concat,需要输入一系列网格相同Dataarray,然后在time维度上进行统一。非常建议统一时间,以免后期出幺蛾子。.../ersstv5D" fList = os.listdir(fileLoc) # 下载nc文件进行合并 ncList = [] for FileName in fList: nc = xr.open_dataset

    2.2K52

    如何用 Python Pandas 分析犯罪记录开放数据

    本文,我借鉴 Richard 分析思路,换成用 Python 和数据分析包 Pandas 数据进行分析可视化。希望通过这个例子,让你了解开放数据获取、整理、分析可视化。...注意最后多出来一列,确实已经变成了我们希望转换形式。 依然按照前面的方法,我们分组统计每一条街道上犯罪数量,并且进行排序。...从上图中,可以看到,从 2010 到 2018 ,1012犯罪数量较多,27好一些。 但是,我们可能更加关心近年情况。...于是 Pandas 就会按照列表中指定顺序,先按照月份分组,再按照小时分组。...小结 通过本文学习,希望你已掌握了以下内容: 如何检索、浏览获取开放数据如何用 Python Pandas 做数据分类统计; 如何在 Pandas 中做数据变换,以及缺失值补充; 如何用 Pandas

    1.8K20

    python数据分析——数据分类汇总与统计

    数据分类汇总与统计 前言 数据分类汇总与统计是指将大量数据按照不同分类方式进行整理归纳,然后这些数据进行统计分析,以便于更好地了解数据特点规律。...换句话说,该对象已经有了接下来分组执行运算所需一切信息。groupby对象不能直接打印输出,可以调用list函数显示分组,还可以对这个对象进行各种计算。...agg函数数据进行分组聚合操作。...Apply函数会将待处理对象拆分成多个片段,然后各片段调用传入函数,最后尝试将各片段组合到一起。 【例13】采用之前小费数据集,根据分组选出最高5个tip-pct值。...关键技术:假设你需要对不同分组填充不同值。可以将数据分组,并使用apply一个能够数据调用fillna函数即可。

    63410

    数据科学 IPython 笔记本 7.11 聚合分组

    分组:分割,应用组合 简单聚合可以为你提供数据风格,但我们通常更愿意在某些标签或索引上有条件地聚合:这是在所谓groupby操作中实现。...分割,应用组合 这是分割-应用-组合操作规则示例,其中“应用”是汇总聚合,如下图所示: 这清楚地表明groupby完成了什么: “分割”步骤涉及根据指定键值打破分组DataFrame。...与GroupBy对象一样,在我们调用对象上聚合之前,不会进行任何计算: planets.groupby('method')['orbital_period'].median() ''' method...特别是GroupBy对象有aggregate(),filter(),transform()apply()方法,在组合分组数据之前,它们有效实现各种实用操作。...我们立即大致了解,过去几十内行星何时以及如何被发现! 在这里,我建议深入研究这几行代码,并评估各个步骤,来确保你准确了解它们结果作用。

    3.6K20

    利用 pandas xarray 整理气象站点数据

    利用 pandas xarray 整理气象站点数据 平时用 xarray 库在处理 nc 格式数据非常方便,但偶尔还是要用到一些站点数据来辅助分析,而站点数据一般都是用文本文件存储,比如下图这种格式...,从外到内坐标依次是:、站点、日 ?...用Python处理这种文本列表就需要用上 pandas 库了, xarray 库就是基于 pandas ,虽然天天在用 xarray ,但是这还是第一次正儿八经用 pandas 处理数据,就当做一次学习过程啦...plt 定义处理过程中函数: 处理时间坐标,利用 datetime 将整形、日转换为 pandas 时间戳 def YMD_todatetime(ds): # 读取年月日数据,转换为...三、 数据处理实例 1. 2012夏季平均气温空间分布 此例所用数据即上面生成数据 ds = xr.open_dataset('Station_test.nc') temp = ds['temp'

    10K41

    数据分析之Pandas分组操作总结

    之前介绍过索引操作,现在接着Pandas中分组操作进行介绍:主要包含SAC含义、groupby函数、聚合、过滤变换、apply函数。...其中split指基于某一些规则,将数据拆成若干组;apply是指每一组独立地使用函数;combine指将每一组结果组合成某一类数据结构。...2. groupby对象特点: 查看所有可调用方法 分组对象head first 分组依据 groupby[]操作 连续型变量分组 a)....分组依据 对于groupby函数而言,分组依据是非常自由,只要是与数据框长度相同列表即可,同时支持函数分组。...变换(Transformation):即分组每个单元数据进行操作(如元素标准化):输入是每组数据,输出是每组数据经过某种规则变换后数据,不改变数据维度。

    7.8K41

    气象处理技巧—时间序列处理2

    时间序列处理2 在前面一个章节,我们学习了常用时间序列生成方法,这一节,则是非常方便的如何使用xarray进行数据时间维度抽取合并操作。...这一章框架是按照xarray提供不同数据抽取方式,逐项讲解xarray时间序列抽取,在最后,还会涉及一些不同数据按照时间维进行合并方法。...提取19551到196612,19881到19886,19995到20011数据,我们就可以在一条命令中实现。...,我们要求仅返回11、12数据,又怎么进行呢,显然切片法解决不了,下面引入xarray继承pandasisin方法。...如何数据进行操作 上面对时间序列处理,都是讲明原理,仅仅对时间序列进行操作,下面我们将对air进行相关操作。

    75911

    不再纠结,一文详解pandas中map、apply、applymap、groupby、agg...

    二、非聚合类方法 这里非聚合指的是数据处理前后没有进行分组操作,数据长度没有发生改变,因此本章节中不涉及groupby()。...三、聚合类方法 有些时候我们需要像SQL里聚合操作那样将原始数据按照某个或某些离散型进行分组再求和、平均数等聚合之后值,在pandas中分组运算是一件非常优雅事。...3.1 利用groupby()进行分组进行分组运算第一步当然就是分组,在pandas中对数据进行分组使用到groupby()方法。...当为多个时传入这些变量名称列表,DataFrame对象通过groupby()之后返回一个生成器,需要将其列表化才能得到需要分组子集,如下面的示例: #按照年份性别对婴儿姓名数据进行分组 groups...主要可以进行以下几种操作: 直接调用聚合函数 譬如这里我们提取count列后直接调用max()方法: #求每个分组中最高频次 data.groupby(by=['year','gender'])['count

    5.3K30

    不再纠结,一文详解pandas中map、apply、applymap、groupby、agg...

    三、聚合类方法 有些时候我们需要像SQL里聚合操作那样将原始数据按照某个或某些离散型进行分组再求和、平均数等聚合之后值,在pandas中分组运算是一件非常优雅事。...3.1 利用groupby()进行分组进行分组运算第一步当然就是分组,在pandas中对数据进行分组使用到groupby()方法。...当为多个时传入这些变量名称列表,DataFrame对象通过groupby()之后返回一个生成器,需要将其列表化才能得到需要分组子集,如下面的示例: #按照年份性别对婴儿姓名数据进行分组 groups...可以看到每一个结果都是一个二元组,元组第一个元素是对应这个分组结果分组组合方式,第二个元素是分组子集数据框,而对于DataFrame.groupby()得到结果。...主要可以进行以下几种操作: 直接调用聚合函数 譬如这里我们提取count列后直接调用max()方法: #求每个分组中最高频次 data.groupby(by=['year','gender'])['count

    5K10

    利用 pandas xarray 整理气象站点数据

    作者:石异 (南京大学大气科学学院,硕士生) 利用 pandas xarray 整理气象站点数据 平时用 xarray 库在处理 nc 格式数据非常方便,但偶尔还是要用到一些站点数据来辅助分析,而站点数据一般都是用文本文件存储...,比如下图这种格式,从外到内坐标依次是:、站点、日 这种格式与CSV格式还有点不同,CSV格式是字段间用相同符号隔开,而图中文件可能是用 Fortran 写,每个字段长度固定为30个字符...用Python处理这种文本列表就需要用上 pandas 库了, xarray 库就是基于 pandas ,虽然天天在用 xarray ,但是这还是第一次正儿八经用 pandas 处理数据,就当做一次学习过程啦...plt 定义处理过程中函数: 处理时间坐标,利用 datetime 将整形、日转换为 pandas 时间戳 def YMD_todatetime(ds): # 读取年月日数据,转换为...三、 数据处理实例 1. 2012夏季平均气温空间分布 此例所用数据即上面生成数据 ds = xr.open_dataset('Station_test.nc') temp = ds['temp'

    5.3K13

    数据分组

    数据分组就是根据一个或多个键(可以是函数、数组或df列名)将数据分成若干组,然后对分组数据分别进行汇总计算,并将汇总计算后结果合并,被用作汇总计算函数称为就聚合函数。...1.分组键是列名 分组键是列名时直接将某一列或多列列名传给 groupby() 方法,groupby() 方法就会按照这一列或多列进行分组。...df.groupby(["客户分类","区域"]).sum() #只会对数据类型为数值(int,float)列才会进行运算 无论分组键是一列还是多列,只要直接在分组数据进行汇总运算,就是所有可以计算进行计算...) #对分组数据进行求和运算 df.groupby(df["客户分类"]).sum() #只会对数据类型为数值(int,float)列才会进行运算 (2)按照多个Series进行分组 #以 客户分类...("客户分类") #分组键是列名 df.groupby(df["客户分类"]) #分组键是Series #对分组数据进行 计数运算 求和运算 df.groupby("客户分类").

    4.5K11

    数据科学学习手札69)详解pandas中map、apply、applymap、groupby、agg

    三、聚合类方法   有些时候我们需要像SQL里聚合操作那样将原始数据按照某个或某些离散型进行分组再求和、平均数等聚合之后值,在pandas中分组运算是一件非常优雅事。...3.1 利用groupby()进行分组   要进行分组运算第一步当然就是分组,在pandas中对数据进行分组使用到groupby()方法,其主要使用到参数为by,这个参数用于传入分组依据变量名称,...当变量为1个时传入名称字符串即可,当为多个时传入这些变量名称列表,DataFrame对象通过groupby()之后返回一个生成器,需要将其列表化才能得到需要分组子集,如下面的示例: #按照年份性别对婴儿姓名数据进行分组...可以看到每一个结果都是一个二元组,元组第一个元素是对应这个分组结果分组组合方式,第二个元素是分组子集数据框,而对于DataFrame.groupby()得到结果,主要可以进行以下几种操作: ●...直接调用聚合函数   譬如这里我们提取count列后直接调用max()方法: #求每个分组中最高频次 data.groupby(by=['year','gender'])['count'].max()

    5K60

    玩转Pandas,让数据处理更easy系列6

    分和合按照字面理解就可,但是“治”又是怎么理解,进一步将治分为3件事: 聚合操作,比如统计每组个数,总和,平均值 转换操作,每个组进行标准化,依据其他组队个别组NaN值填充 过滤操作,忽略一些组...04 分(splitting) 分组就是根据默认索引映射为不同索引取值分组名称,来看如下所示DataFrame实例df_data,可以按照多种方式分组,直接调用groupby接口, ?...df_data.groupby('A') 默认是按照axis=0分组(行),如果按照列,修改轴,即 df_data.groupby('A' , axis=1) 也可以按照多个列分组,比如: df_data.groupby...如果根据两个字段组合进行分组,如下所示,为对应分组总和, abgroup = df.groupby(['A','B']) abgroup.aggregate(np.sum) ?...还可以对不同调用不同函数,详细过程在参考官方文档: http://pandas.pydata.org/pandas-docs/stable/groupby.html 还可以进行一些转化过滤操作,

    2.7K20

    xarray走向netCDF处理(四):合并与计算

    以下文章来源于MeteoAI ,作者学前班大队长 前面有关xarray已经讲了3期了,介绍了数据索引,数据结构还有插值掩膜。...今天这是最后一期介绍用xarray处理nc数据了,打算聊一下如何数据合并与计算。 数据合并 数据合并主要是两种形式 维度拼接:如将日数据合成为年数据,就属于在时间维度上合并。...我在这里就挑最常用跟大家聊聊。 维度拼接 使用 concat() 方法可以实现维度拼接。 下面是演示数据,来源于20182019前三个ERA-Interim月平均数据。...ds2019中t2m合并到一起,而且在时间维上缺失会自动设置为nan。...除此以外,xarray还可以帮你快速地求出平均值,方差,最小值,最大值等。你可以指定具体那个维度进行计算,如果不指定维度默认会对所有维度进行计算。

    1.6K131

    ES2024新特性:object.groupBy()让分组更简单

    2024初,JavaScript(也称为Ecma Script)推出了一项全新内置函数——object.groupBy()。这一创新功能将彻底改变我们对数据进行分组组织方式!...什么是object.groupBy()? 复杂定义: object.groupBy()是一个静态方法,允许你基于提供回调函数可迭代对象(如数组)中元素进行分组。...通过调用Object.groupBy(inventory, ({ type }) => type),我们根据食物type属性元素进行分组,并得到一个按类别(蔬菜、水果、肉类)组织对象,每个类别都包含一个对应项目的数组...通过使用回调函数({ grade, subject }) => {subject}``,我们根据年级科目的组合学生进行分组,结果是一个表示每个唯一组合对象,每个组合包含相应学生数组。...通过一些创造力巧妙回调函数,你可以实现更多功能。想象一下,基于复杂计算、正则表达式甚至外部数据源对数据进行分组——可能性是无穷无尽

    17610

    pandas系列5-分组_groupby

    groupby 是pandas 中非常重要一个函数, 主要用于数据聚合分类计算. 其思想是“split-apply-combine”(拆分 - 应用 - 合并)....拆分:groupby按照某个属性column分组,得到是一个分组之后对象 应用:对上面的对象使用某个函数,可以是自带也可以是自己写函数,通过apply(function) 合并:最终结果是个S...(需要按照职业进行分组)并按照平均年龄从大到小排序?(分组之后年龄求平均再排序) 分别找出男人和女人每种职业的人数?(按照男女分组) 更进一步, 如何找出男人和女人在不同职业平均年龄?...(先按男女分组,再按照不同职业分组,再求平均年龄) ---- 问题1 : 如何找出每一种职业平均年龄?并按照平均年龄从大到小排序?...两个属性同时进行分组进行size函数求和 df.groupby(['occupation','gender']).size() # Output occupation gender administrator

    1.7K20

    数据科学 IPython 笔记本 7.12 透视表

    我们已经看到GroupBy抽象如何让我们探索数据集中关系。透视表是一种类似的操作,常见于电子表格,其他操作表格数据程序中。...透视表将简单逐列数据作为输入,并将条目分组为二维表格,该表提供数据多维汇总。 数据透视表GroupBy之间区别有时会引起混淆;它帮助我将透视表视为GroupBy聚合多维版本。...手动创建透视表 为了开始更加了解这些数据,我们可以根据性别,生存状态或其某些组合进行分组。...使用GroupBy词汇表,我们可以继续执行这样过程:我们分组舱位性别,选择生存列,应用平均聚合,组合生成分组,然后对分层索引取消堆叠,来揭示隐藏多维度。...让我们添加decade列,并看看男性女性出生对于十函数: births['decade'] = 10 * (births['year'] // 10) births.pivot_table('births

    1.1K20
    领券