Python,熊猫。从累积值转换为增量

潘太

我有一系列日期和累积值的熊猫,如下所示:

'2015-01-01': 1
'2015-01-02': 3
'2015-01-03': 7
'2015-01-04': 8

我可以像这样用熊猫将它们转换成“三角洲”吗?

'2015-01-01': 0   
'2015-01-02': 2
'2015-01-03': 4
'2015-01-04': 1

还是我应该手动进行?

埃德·楚姆

您可以致电diff,默认期限为1

In [21]:

df['diff'] = df['Cumulative_Value'].diff()
df
Out[21]:
       Dates  Cumulative_Value  diff
0 2015-01-01                 1   NaN
1 2015-01-02                 3     2
2 2015-01-03                 7     4
3 2015-01-04                 8     1

您还可以使用shift后者,它是一种更通用的操作,该操作返回移位了一个周期的序列(再次默认为1),在这种情况下,尽管在此大小的数据集上速度较慢:

In [25]:

%timeit df['Cumulative_Value'].diff()
%timeit df['Cumulative_Value'] - df['Cumulative_Value'].shift()
%timeit df[['Cumulative_Value']].apply(lambda x: x - x.shift(), axis=1)
10000 loops, best of 3: 109 µs per loop
1000 loops, best of 3: 330 µs per loop
100 loops, best of 3: 4.02 ms per loop

与向量化的前两个方法相比,最后一个示例显示每行循环的速度要慢得多(我使用了double[[]]强制其返回数据帧,以便我可以axis=1逐行传递应用lambda函数的param )。始终寻求矢量化方法,以充分利用更快的操作优势。

因此,您可以在此处看到,这diff比循环遍历每一行快约4000倍,因为它是矢量化的,因此扩展性要比非矢量化的方法好得多。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将累积值转换为单个值

来自分类Dev

在Python中将年度累积数据转换为每月绝对值

来自分类Dev

M - 将累积值(运行总计)转换为实际值

来自分类Dev

熊猫DataFrame累积值

来自分类Dev

将输入矩阵转换为输出,将原始元素替换为其累积值

来自分类Dev

如何将列名称转换为熊猫中的列值-python

来自分类Dev

绘制时将熊猫(python)分类x轴转换为连续值

来自分类Dev

绘制时将熊猫(python)分类x轴转换为连续值

来自分类Dev

熊猫:将值的时间序列转换为跟踪值的变化

来自分类Dev

在熊猫数据框中将浮点值转换为timedelta值

来自分类Dev

熊猫将列值转换为行值

来自分类Dev

熊猫:将值的时间序列转换为跟踪值的变化

来自分类Dev

如果缺少列值,则用增量值替换为熊猫数据框

来自分类Dev

熊猫-不同值的滚动累积计数

来自分类Dev

使用NaN值将熊猫系列转换为int

来自分类Dev

大熊猫将索引值转换为小写

来自分类Dev

将行转换为熊猫列中的值列表

来自分类Dev

将熊猫数据框值组转换为多个列表

来自分类Dev

如何在熊猫中将逗号分隔的值转换为整数

来自分类Dev

熊猫-将值转换为类型字符串以浮动

来自分类Dev

如何将熊猫数据框的值转换为列

来自分类Dev

将布尔值转换为数据框熊猫

来自分类Dev

旋转熊猫 df - 将列值转换为列名

来自分类Dev

将标题和值列表转换为熊猫数据框

来自分类Dev

如何在python中将累积数据转换为多索引的每日数据?

来自分类Dev

仅在熊猫中将Python清洗日期转换为年份

来自分类Dev

Python /熊猫:如何从datetime64 [ns]转换为datetime

来自分类Dev

将科学计数法转换为小数熊猫python

来自分类Dev

在Python中将熊猫数据框转换为字典

Related 相关文章

热门标签

归档