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

3 个不常见但非常实用的Pandas 使用技巧

1、To_period 在 Pandas 中,操 to_period 函数允许将日期转换为特定的时间间隔。使用该方法可以获取具有许多不同间隔或周期的日期,例如日、周、月、季度等。...它计算列中值的累积和。以下是我们通常的使用方式: df["cumulative_sum"] = df["amount"].cumsum() df.head() 这样就获得了金额列值的累积总和。...在某些情况下,我们可能需要分别计算不同类别的累积和。 Pandas中我们只需要按类列对行进行分组,然后应用 cumsum 函数。...df["class_cum_sum"] = df.groupby("class")["amount"].cumsum() 让我们查看 A 类的结果。...int64 class_cum_sum int64 Pandas 还有一个“Category”数据类型,它比object数据类型消耗更少的内存。

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

    一文完全理解模型ks指标含义并画出ks曲线(包含代码和详细解释)「建议收藏」

    df 是pandas的DataFrame表,表中必须包含两列:预测值和真实值。...y_true是真实值在df表中的列名,此处为“label”; y_pre是预测值在df表中的列名,此处为“score”; num是需要分组的数量,具体含义后面会说; good和bad是真实值中0和...,进行整列数据的统计; 好用户统计,good_sum列中计算了每个区间的好用户数量,good_percent列中则是每个区间的好用户数占全部好用户数的比例。...其实这里计算的good_percent_cum就是就是在不同阈值下的TPR,true positive rate; 坏用户统计,与好用户计算方法一致,bad_percent_cum计算的是不同阈值下的FPR...第二个sklearn会根据你的数据大小进行划分区间,这里我使用的数据量比较大,划分了600个区间计算的,所以X轴范围是0~600。

    7.3K10

    使用 Pandas 在 Python 中绘制数据

    在有关基于 Python 的绘图库的系列文章中,我们将对使用 Pandas 这个非常流行的 Python 数据操作库进行绘图进行概念性的研究。...Pandas 是 Python 中的标准工具,用于对进行数据可扩展的转换,它也已成为从 CSV 和 Excel 格式导入和导出数据的流行方法。 除此之外,它还包含一个非常好的绘图 API。...这非常方便,你已将数据存储在 Pandas DataFrame 中,那么为什么不使用相同的库进行绘制呢? 在本系列中,我们将在每个库中制作相同的多条形柱状图,以便我们可以比较它们的工作方式。...我们使用的数据是 1966 年至 2020 年的英国大选结果: image.png 自行绘制的数据 在继续之前,请注意你可能需要调整 Python 环境来运行此代码,包括: 运行最新版本的 Python...在本系列文章中,我们已经看到了一些令人印象深刻的简单 API,但是 Pandas 一定能夺冠。

    6.9K20

    25个例子学会Pandas Groupby 操作(附代码)

    来源:DeepHub IMBA本文约2300字,建议阅读5分钟本文用25个示例详细介绍groupby的函数用法。 groupby是Pandas在数据分析中最常用的函数之一。...它用于根据给定列中的不同值对数据点(即行)进行分组,分组后的数据可以计算生成组的聚合值。 如果我们有一个包含汽车品牌和价格信息的数据集,那么可以使用groupby功能来计算每个品牌的平均价格。...在本文中,我们将使用25个示例来详细介绍groupby函数的用法。这25个示例中还包含了一些不太常用但在各种任务中都能派上用场的操作。 这里使用的数据集是随机生成的,我们把它当作一个销售的数据集。...df["cum_sum_2"] = df.groupby( "category" )["value"].expanding().sum().values 24、累积平均 利用展开函数和均值函数计算累积平均...df["current_highest"] = df.groupby( "category" )["value"].expanding().max().values 在Pandas中groupby

    3.1K20

    25个例子学会Pandas Groupby 操作

    groupby是Pandas在数据分析中最常用的函数之一。它用于根据给定列中的不同值对数据点(即行)进行分组,分组后的数据可以计算生成组的聚合值。...如果我们有一个包含汽车品牌和价格信息的数据集,那么可以使用groupby功能来计算每个品牌的平均价格。 在本文中,我们将使用25个示例来详细介绍groupby函数的用法。...这25个示例中还包含了一些不太常用但在各种任务中都能派上用场的操作。 这里使用的数据集是随机生成的,我们把它当作一个销售的数据集。...df["cum_sum_2"] = df.groupby( "category" )["value"].expanding().sum().values 24、累积平均 利用展开函数和均值函数计算累积平均...df["current_highest"] = df.groupby( "category" )["value"].expanding().max().values 在Pandas中groupby

    2.7K20

    总结了25个Pandas Groupby 经典案例!!

    大家好,我是俊欣~ groupby是Pandas在数据分析中最常用的函数之一。它用于根据给定列中的不同值对数据点(即行)进行分组,分组后的数据可以计算生成组的聚合值。...如果我们有一个包含汽车品牌和价格信息的数据集,那么可以使用groupby功能来计算每个品牌的平均价格。 在本文中,我们将使用25个示例来详细介绍groupby函数的用法。...这25个示例中还包含了一些不太常用但在各种任务中都能派上用场的操作。 这里使用的数据集是随机生成的,我们把它当作一个销售的数据集。...df["cum_sum_2"] = df.groupby( "category" )["value"].expanding().sum().values output 24、累积平均 利用展开函数和均值函数计算累积平均...df["current_highest"] = df.groupby( "category" )["value"].expanding().max().values output 在Pandas中

    3.4K30

    七步搞定一个综合案例,掌握pandas进阶用法!

    本文从一个案例入手,综合运用pandas的各类操作实现对数据的处理,处理步骤如下所示。在公众号后台回复“case”即可获取本文全部数据,代码和文档。 ? 案例引入 现有一批销售数据,如下图所示: ?...计算的结果作为新的一列amt_sum添加到原数据上。...#分组求和并用transform与原数据合并 amt_sum = data_new.groupby(['city', 'sub_cate'])['amt'].transform('sum') data_new...#分组并用cumsum计算累计占比 data_sorted['cum_pct'] = data_sorted.groupby(['city', 'sub_cate'])['pct'].cumsum()...result.to_excel('result.xlsx', index=None) 小结 本文使用pandas,通过7个步骤实现了一个综合案例:筛选出每个城市每个子类别中销量占比top 50%的至多3

    2.7K40

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

    使用两种方法,通过python计算基尼系数。 在sql中如何计算基尼系数,可以查看我的另一篇文章。两篇文章取数相同,可以结合去看。 文章中方法1的代码来自于:(加入了一些注释,方便理解)。...t = yarray[y[:]] #取得在yarray上的值 #就是图中w0 w1 w2等的值 g = 1 - (1/n)*(2*(sum(t)-1)+1) # 跟文档中的有一点不一样,在最后的计算中减去了...,需要取第6个元素,在python中的index是5,所以需要减去1 n = 100 m = pd.cut(pd.Series(range(0, len(cum_wealths))), bins = n...但可能有助于对基尼系数近似计算的理解,所以放在了这里。 方法三 样本数量能够被分组数均匀分配的情况(仅适用于这个情况),更好的方法详见方法二。 数据的精确度可能还会受样本量和分组量的关系。...# 第二个方法 #只适用于样本数量能够被分组数量整除的情况 # 接着上面的定义 n = 100 #分成100个组,100个数据分成100个组,每个点和点之间的梯形都计算其面积,‘最精确的近似‘ m =

    1.4K30

    在 PySpark 中,如何使用 groupBy() 和 agg() 进行数据聚合操作?

    在 PySpark 中,可以使用groupBy()和agg()方法进行数据聚合操作。groupBy()方法用于按一个或多个列对数据进行分组,而agg()方法用于对分组后的数据进行聚合计算。...以下是一个示例代码,展示了如何在 PySpark 中使用groupBy()和agg()进行数据聚合操作:from pyspark.sql import SparkSessionfrom pyspark.sql.functions...按某一列进行分组:使用 groupBy("column_name1") 方法按 column_name1 列对数据进行分组。进行聚合计算:使用 agg() 方法对分组后的数据进行聚合计算。...在这个示例中,我们计算了 column_name2 的平均值、column_name3 的最大值、column_name4 的最小值和 column_name5 的总和。...avg()、max()、min() 和 sum() 是 PySpark 提供的聚合函数。alias() 方法用于给聚合结果列指定别名。显示聚合结果:使用 result.show() 方法显示聚合结果。

    9610

    Python 分析销售情况

    (excel) 为某化妆品企业 2019 年 1 月-2019 年 9 月每日订单详情数据和企业的商品信息数据,包括两个数据表,销售订单表和商品信息表。...两张表数据合并 total_data = pd.merge(data,data_info,on='商品编号',how='left') total_data 复制代码 groups = data.groupby...('客户编码')'金额'.sum().reset_index() #如果是第一个月份,则跳过(因为不需要和历史数据验证是否为新增客户) if i==0: new_target_users = target_month.groupby...('客户编码')'金额'.sum().reset_index() #计算在该月仍然留存的客户数量 isin = new_target_users'客户编码'.isin(next_users'客户编码')...可以增大市场投放量;也可以考虑在该地区建仓,节省物流等成本; 5、用户:重点维护购买次数在10次-35次之间的用户群体; 6、留存率在99%,证明用户对产品有一定的依赖性;

    1.7K30

    利用 Python 分析了某化妆品企业的销售情况,我得出的结论是?

    (excel) 为某化妆品企业 2019 年 1 月-2019 年 9 月每日订单详情数据和企业的商品信息数据,包括两个数据表,销售订单表和商品信息表。...groups = data.groupby('月份') x = [each[0] for each in groups] y = [each[1].金额.sum() for each in groups...图表说明:大部分用户购买次数在10次-35次之间,极少部分用户购买次数80次以上 date_rebuy=total_data.groupby('客户编码')['订单日期'].apply(lambda x...('客户编码')['金额'].sum().reset_index() #计算在该月仍然留存的客户数量 isin = new_target_users['客户编码'].isin...可以增大市场投放量;也可以考虑在该地区建仓,节省物流等成本; 5、用户:重点维护购买次数在10次-35次之间的用户群体; 6、留存率在99%,证明用户对产品有一定的依赖性; 7、从同期群分析来看,新用户明显减少

    56310

    pandas中的数据处理利器-groupby

    在数据分析中,常常有这样的场景,需要对不同类别的数据,分别进行处理,然后再将处理之后的内容合并,作为结果输出。对于这样的场景,就需要借助灵活的groupby功能来处理。...上述例子在python中的实现过程如下 >>> import numpy as np >>> import pandas as pd >>> df = pd.DataFrame({'x':['a','a...汇总数据 transform方法返回一个和输入的原始数据相同尺寸的数据框,常用于在原始数据框的基础上增加新的一列分组统计数据,用法如下 >>> df = pd.DataFrame({'x':['a','...,在原始数据框的基础上添加汇总列 >>> df['mean_size'] = df.groupby('x').transform(lambda x:x.count()) >>> df x y mean_size...()) y 0 0 1 2 2 -2 3 3 4 3 5 8 pandas中的groupby功能非常的灵活强大,可以极大提高数据处理的效率。

    3.6K10

    Python数据分析实验二:Python数据预处理

    二、实验任务 使用Pandas和Matplotlib库分别完成以下要求: 把包含销售数据的chipotle.csv文件内容读取到一个名为chipo的数据框中,并显示该文件的前10行记录 获取chipo数据框中每列的数据类型...") chipo.head(10) 2、获取chipo数据框中每列的数据类型 chipo.dtypes 3、获取数据框chipo中所有订单购买商品的总数量 chipo['quantity'].sum...10、找出销售额最多的前5个订单 # 计算单价(item_price)最多的前5个订单 chipo.groupby("order_id").agg({"item_price":"sum"}).sort_values...='count',values="PassengerId") 四、实验体会   在本次实验中,我学习了如何使用Pandas和Matplotlib库进行数据预处理和可视化分析。...通过完成各种任务,我掌握了使用Pandas读取CSV文件并将数据加载到DataFrame中,如何查看DataFrame中每列的数据类型以及如何获取数据的基本统计信息。

    11700

    从小白到大师,这里有一份Pandas入门指南

    在代码中,指定 deep=True 来确保考虑到了实际的系统使用情况。...它可以通过两种简单的方法节省高达 90% 的内存使用: 了解数据框使用的类型; 了解数据框可以使用哪种类型来减少内存的使用(例如,price 这一列值在 0 到 59 之间,只带有一位小数,使用 float64...这个数是任意的,但是因为数据框中类型的转换意味着在 numpy 数组间移动数据,因此我们得到的必须比失去的多。 接下来看看数据中会发生什么。...在得到的数据框中,「年龄」列是索引。 除了了解到「X 代」覆盖了三个年龄组外,分解这条链。第一步是对年龄组分组。...在 0.25 版本中,Pandas 引入了使用 agg 的新方法:https://dev.pandas.io/whatsnew/v0.25.0.html#groupby-aggregation-with-relabeling

    1.8K11

    从小白到大师,这里有一份Pandas入门指南

    在代码中,指定 deep=True 来确保考虑到了实际的系统使用情况。...它可以通过两种简单的方法节省高达 90% 的内存使用: 了解数据框使用的类型; 了解数据框可以使用哪种类型来减少内存的使用(例如,price 这一列值在 0 到 59 之间,只带有一位小数,使用 float64...这个数是任意的,但是因为数据框中类型的转换意味着在 numpy 数组间移动数据,因此我们得到的必须比失去的多。 接下来看看数据中会发生什么。...在得到的数据框中,「年龄」列是索引。 除了了解到「X 代」覆盖了三个年龄组外,分解这条链。第一步是对年龄组分组。...在 0.25 版本中,Pandas 引入了使用 agg 的新方法:https://dev.pandas.io/whatsnew/v0.25.0.html#groupby-aggregation-with-relabeling

    1.7K30

    从小白到大师,这里有一份Pandas入门指南

    在代码中,指定 deep=True 来确保考虑到了实际的系统使用情况。...它可以通过两种简单的方法节省高达 90% 的内存使用: 了解数据框使用的类型; 了解数据框可以使用哪种类型来减少内存的使用(例如,price 这一列值在 0 到 59 之间,只带有一位小数,使用 float64...这个数是任意的,但是因为数据框中类型的转换意味着在 numpy 数组间移动数据,因此我们得到的必须比失去的多。 接下来看看数据中会发生什么。...在得到的数据框中,「年龄」列是索引。 除了了解到「X 代」覆盖了三个年龄组外,分解这条链。第一步是对年龄组分组。...在 0.25 版本中,Pandas 引入了使用 agg 的新方法:https://dev.pandas.io/whatsnew/v0.25.0.html#groupby-aggregation-with-relabeling

    1.7K30
    领券