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

高效的10个Pandas函数,你都用过吗?

Insert Insert用于在DataFrame的指定位置中插入新的数据列。默认情况下新列是添加到末尾的,但可以更改位置参数,将新列添加到任何位置。...Cumsum Cumsum是pandas的累加函数,用来求列的累加值。...Where Where用来根据条件替换行或列中的值。如果满足条件,保持原来的值,不满足条件则替换为其他值。默认替换为NaN,也可以指定特殊值。...,否则替换为other other:替换的特殊值 inplace:inplace为真则在原数据上操作,为False则在原数据的copy上操作 axis:行或列 将df中列value_1里小于5的值替换为...简单说就是将指定的列放到铺开放到行上变成两列,类别是variable(可指定)列,值是value(可指定)列。

4.2K20

20个能够有效提高 Pandas数据分析效率的常用函数,附带解释和例子

本文将介绍20个常用的 Pandas 函数以及具体的示例代码,助力你的数据分析变得更加高效。 ? 首先,我们导入 numpy和 pandas包。...当我们需要添加在任意位置,则可以使用 insert 函数。使用该函数只需要指定插入的位置、列名称、插入的对象数据。...Pandas提供了一个易于使用的函数来计算加和,即cumsum。 如果我们只是简单使用cumsum函数,(A,B,C)组别将被忽略。...where函数首先根据指定条件定位目标数据,然后替换为指定的新数据。...重要的一点是,pandas 和 numpy的where函数并不完全相同。我们可以得到相同的结果,但语法存在差异。Np.where还需要指定列对象。

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

    Pandas,数据处理的好帮手!

    最近做可视化视频,在处理数据的时候遇到了一些问题。 所以就来总结一下,也给大家一个参考。 1. pandas.pivot_table 数据透视表,数据动态排布并且分类汇总的表格格式。...我的理解就是可以进行「行列转换」。 比如下面这样的一个转换。 ? 对名字列进行分类汇总,然后将日期那一列转换到行上,具体代码如下。...计算分类汇总后的数据总和 # 按name分类汇总并计算总和 df.groupby(['name'])[['name', 'view', 'danmaku']].sum().reset_index())...比如要选取特定区间内的数据内容,可以通过如下的代码。...test.csv', encoding='utf-8', header=None, names=['name', 'date', 'title', 'like', 'coin', 'sum']) # 将字符串转换为时间格式

    98530

    几个高效Pandas函数

    Insert Insert用于在DataFrame的指定位置中插入新的数据列。默认情况下新列是添加到末尾的,但可以更改位置参数,将新列添加到任何位置。...Ture表示允许新的列名与已存在的列名重复 在第三列的位置插入新列: #新列的值 new_col = np.random.randn(10) #在第三列位置插入新列,从0开始计算 df.insert(2...Cumsum Cumsum是pandas的累加函数,用来求列的累加值。...Where Where用来根据条件替换行或列中的值。如果满足条件,保持原来的值,不满足条件则替换为其他值。默认替换为NaN,也可以指定特殊值。...简单说就是将指定的列放到铺开放到行上变成两列,类别是variable(可指定)列,值是value(可指定)列。

    1.6K60

    pandas 时序统计的高级用法!

    本次介绍pandas时间统计分析的一个高级用法--重采样。以下是内容展示,完整数据、代码和500页图文可戳《pandas进阶宝典V1.1.6》进行了解。...向上采样:转换到更细颗粒度的频率,比如将天转为小时、分钟、秒等 向下采样:转换到更粗颗粒度的频率,比如将天转为周、月、季度、年等 resample用法 pandas中时间重采样的方法是resample(...left:以左边界为分组标签 right:以右边界为分组标签 kind:将结果索引转化为指定的时间类型 timestamp:将结果索引转换为DateTimeIndex period:将结果索引转换为PeriodIndex...根据rule参数含义码表,H代表小时的意思,12H也就是12小时。这是resample非常强大的地方,可以把采样定位的非常精确。 下面将天的时间频率转换为12小时的频率,并对新的频率分组后求和。...下面将天为频率的数据上采样到8H频率,向前填充1行和2行的结果。

    45340

    一场pandas与SQL的巅峰大战(五)

    第三篇文章一场pandas与SQL的巅峰大战(三)围绕日期操作展开,主要讨论了日期获取,日期转换,日期计算等内容。...◆ ◆ ◆ ◆ ◆ 数据准备 我们仍然使用前一篇的orderamt数据,数据导入方式可以参考之前的内容。需要分别在MySQL,Hive,pandas中进行数据导入,在此不作赘述。...pandas计算累计百分比 在pandas中,提供了专门的函数来计算累计值,分别是cumsum函数,expanding函数,rolling函数。...我们一起来看一下使用三种函数计算分组和不分组累计百分比的方法。 ? 1.不分组情况 cumsum函数 cumsum是pandas中专门用于计算累计和的函数。...直接对amt列使用cumsum函数即可计算累计值,结果和用SQL计算得到的一致。 计算累计的百分比也很容易。

    2.6K10

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

    To_period 在 Pandas 中,操作 to_period 函数允许将日期转换为特定的时间间隔。使用该方法可以获取具有许多不同间隔或周期的日期,例如日、周、月、季度等。...Cumsum 和 groupby cumsum 是一个非常有用的 Pandas 函数。它计算列中值的累积和。...但是它只是全部的总和没有考虑分类。在某些情况下,我们可能需要分别计算不同类别的累积和。 Pandas中我们只需要按类列对行进行分组,然后应用 cumsum 函数。...df["class_cum_sum"] = df.groupby("class")["amount"].cumsum() 让我们查看 A 类的结果。...df[df["class"]=="A"].head() 类的累积总和列包含为每个类单独计算的累积值总和。 3. Category数据类型 我们经常需要处理具有有限且固定数量的值的分类数据。

    1.3K10

    超硬核的 Python 数据可视化教程!

    figsize可以指定图像尺寸。...也可以使用参数明确的指定。 线型图还可以加上一些标记(marker),来突出显示数据点的位置。标记也可以放在格式字符串中,但标记类型和线型必须放在颜色后面。...刻度,标签和图例 plt的xlim、xticks和xtickslabels方法分别控制图表的范围和刻度位置和刻度标签。 调用方法时不带参数,则返回当前的参数值;调用时带参数,则设置参数值。...text函数可以将文本绘制在指定的x,y坐标位置,还可以进行自定义格式 plt.plot(np.random.randn(1000).cumsum()) plt.text(600,10,'test ',...Pandas中有许多基于matplotlib的高级绘图方法,原本需要多行代码才能搞定的图表,使用pandas只需要短短几行。 我们使用的就调用了pandas中的绘图包。

    5.1K51

    模型评价指标—KS

    对于分类模型,在建立好模型后,我们想对模型进行评价,常见的指标有混淆矩阵、KS曲线、ROC曲线、AUC面积等。也可以自己定义函数,把模型结果分割成n(100)份,计算top1的准确率、覆盖率。...step6:计算每个组别中abs(累计逾期客户数量占比-累计正常客户数量占比)。 step7:找到累计占比差值绝对值最大的数,即为所求的KS值。 表格形式如下: ?...二、用Python如何计算KS值并绘图 1 具体代码 在python中计算KS的具体代码如下: import matplotlib import pandas as pd import seaborn...y_1:表示模型的实际标签,逾期客户标记为1,正常客户标记为0。 10:表示分成10组。 0:表示输入的是prob。如果输入的是score,对应位置改为1即可。...得到结果如下: ks_value is 0.354 + at pop = 0.3002 ? ? 三、如何评价KS 我们计算出了模型的KS,那么多少的KS值,模型才是可以使用的?

    7.5K21

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

    如果分组数量降低,获得的基尼系数将稍低于准确的基尼系数,因为更多的将非直线的曲线假设成了直线,即梯形的一边。...,表示这个位置原来的值属于1到n的哪个组 y = m.groupby(by = m).size().cumsum() # 得到每个分组中的最后一个数的位置在哪里 # size表示每个组里面有多少个元素...# cumsum之后显示每个组里面最后一个元素的位置 #就是图中分为点的位置 t = yarray[y[:]] #取得在yarray上的值 #就是图中w0 w1 w2等的值 g = 1 - (1/n)*...(不要刻意减去1,按照公式,加总到n-1) g = 1 - (1/n)*(2*(sum(t[0:n-1]))+1) g # 结果为 0.3109641735512395 # 相同的计算,只是起始位置稍有不同...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.4K30

    在Python Matplotlib中制作瀑布图

    2.创建另一个条形图并将其放在第一个条形图的顶部,然后将新条形图的颜色设置为与背景色相同的颜色,以隐藏第一个条形图的底部。...图1 任务现在变成创建两个条形图,其中一个应该记录运行总数,另一个只是运行总数的变化,我们稍后就会看到。 可以使用cumsum()方法计算一个运行总数,然后将其下移1行。...df['tot']= df['num'].cumsum() df['tot1']= df['tot'].shift(1).fillna(0) 代码运行结果如下图2所示。...下面将完整的瀑布图代码转换为一个方便的Python函数,以便以后可以重用它。该函数接受三个参数:包含数据的数据框架、要放置为x轴的数据列的名称以及要用作y轴的数据列的名称。...def waterfall(df, x, y): # 计算运行总数 df['tot'] = df[y].cumsum() df['tot1']=df['tot'].shift(1

    2.7K20

    【Techo Day腾讯技术开放日】如何查看 Series、DataFrame 对象的数据

    查看统计信息对于 Series、DataFrame 对象来说,pandas 有许多方法用来计算它们的描述统计。...mean() 函数计算的是所有元素的平均值(除去 np.NaN)。cumsum() 函数计算的是所有元素的累计和(除去 np.NaN)。..., "a"])print(s.describe())上述代码的输出结果中,count 表示元素的个数;unique 表示不同元素的个数;top 表示出现次数最高的元素;freq 表示出现次数最高的元素的次数...当 DataFrame 对象中既有数字的列也有非数字的列,在不设置参数的情况下,describe() 会只对数字的列进行统计计算,例如:import numpy as npimport pandas as...当对一个 DataFrame 对象进行排序时,你可能希望根据一个或多个列中的值进行排序。将一个或多个列的名字传递给 sort_values 的 by 选项即可达到该目的。

    2.3K20

    Python中 Pandas 50题冲关

    Pandas 是基于 NumPy 的一种数据处理工具,该工具为了解决数据分析任务而创建。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的函数和方法。...Python中的Numpy基础20问 参考资料 | 100-pandas-puzzles - GitHub | Pandas 百题大冲关 基本操作 导入 Pandas 库并简写为 pd,并输出版本号 import...1.5 df.loc['f', 'age'] = 1.5 计算visits的总和 df['visits'].sum() 计算每个不同种类animal的age的平均数 df.groupby('animal...'], ascending=[False, True]) 将priority列中的yes, no替换为布尔值True, False df['priority'] = df['priority'].map...({'yes': True, 'no': False}) df 将animal列中的snake替换为python df['animal'] = df['animal'].replace('snake'

    4.2K30

    Python数据可视化——matplotlib使用

    如果我们没有指定在哪个ax上进行作图,matplotlib会默认选择最后一个(如果没有则创建一个)上进行绘制。下面这条命令就没有指定。...(randn(1000).cumsum(),label="two")#创建label标签 ax.plot(randn(1000).cumsum(),label="three")#创建label标签 ax.legend...(loc="best")#loc是用来说明图例的放置位置 06|Pandas作图: matplotlib是一种比较低级的工具,要组装一张图表,需要用到它的各种组件才可以,包括图表类型(线型图、柱状图、...这是因为制作一张完整的图表都需要用到这些,但是matplotlib要实现这种功能需要很多行代码,而pandas可能只需要几行代码就可以搞定。...密度图:与直方图相关的一种类型图,是通过计算“可能会产生观测数据的连续概率分布的估计”而产生的,通过给plot传入参数kind="kde"即可。

    1.7K50
    领券