【发布时间】:2020-07-21 21:14:33
【问题描述】:
我有一个包含几天数据的数据框:代码
import pandas
[...]
daily_data_f = pandas.DataFrame(daily_data, columns = ['Day', 'Total TODO/TODOE count'])
print(daily_data_f)
生成以下输出:
Day Total TODO/TODOE count
0 2020-05-16 35
1 2020-05-17 35
2 2020-05-18 35
3 2020-05-19 35
4 2020-05-20 35
.. ... ...
64 2020-07-18 35
65 2020-07-19 35
66 2020-07-20 35
68 2020-07-21 151
我想计算随后两天Total TODO/TODOE count 的值之间的差异。该值从 2020 年 6 月 28 日的 35 跃升至 2020 年 7 月 21 日的 151。我要为 2020-07-21 151-35=116 计算的值。
This answer 建议采用这种方法:
df['new_column_name'] = df.apply(lambda x: my_function(x['value_1'], x['value_2']), axis=1)
我必须写这样的东西:
daily_data_f['First Derivative'] = daily_data_f.apply(lambda x:diff(daily_data_f['Total TODO/TODOE count'], <PREVIOUS_VALUE>), axis=1)
其中<PREVIOUS_VALUE> 是上一行(天)中'Total TODO/TODOE count' 的值。
问题:如何为<PREVIOUS_VALUE>(上一行的'Total TODO/TODOE count' 的值)编写表达式?
【问题讨论】:
-
df['Total TODO/TODOE count'].diff()?
标签: python python-3.x pandas python-3.7