如何使用python减去行?

2024-10-06 16:24:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,看起来像这样:

        C/A  UNIT       SCP     DATEn     TIMEn    DESCn  ENTRIESn    EXITSn  
0     A002  R051  02-00-00  05-01-11  00:00:00  REGULAR   3144312   1088151 
1     A002  R051  02-00-00  05-01-11  04:00:00  REGULAR   3144335   1088159 
2     A002  R051  02-00-00  05-01-11  08:00:00  REGULAR   3144353   1088177 
3     A002  R051  02-00-00  05-01-11  12:00:00  REGULAR   3144424   1088231   
4     A002  R051  02-00-00  05-01-11  16:00:00  REGULAR   3144594   1088275  
5     A002  R051  02-00-00  05-01-11  20:00:00  REGULAR   3144808   1088317   
6     A002  R051  02-00-00  05-02-11  00:00:00  REGULAR   3144895   1088328

我需要创建一个新行(ENTRIESn\u hourly),这将是从上一行减去ENTRIESn列中的每一行的结果。有人能帮忙吗? 干杯!你知道吗

达尼


Tags: 数据unithourlyscpregular干杯datena002
2条回答

也可以先将行移动一行:

df["ENTRIESn_hourly"] = df["ENTRIESn"] - df["ENTRIESn"].shift()

pandas.DataFrame.shift。你知道吗

打电话给^{}

In [26]:

df['Entries diff']= df['ENTRIESn'].diff()
df
Out[26]:
        C/A  UNIT       SCP     DATEn     TIMEn    DESCn  ENTRIESn   EXITSn  \
index                                                                         
0      A002  R051  02-00-00  05-01-11  00:00:00  REGULAR   3144312  1088151   
1      A002  R051  02-00-00  05-01-11  04:00:00  REGULAR   3144335  1088159   
2      A002  R051  02-00-00  05-01-11  08:00:00  REGULAR   3144353  1088177   
3      A002  R051  02-00-00  05-01-11  12:00:00  REGULAR   3144424  1088231   
4      A002  R051  02-00-00  05-01-11  16:00:00  REGULAR   3144594  1088275   
5      A002  R051  02-00-00  05-01-11  20:00:00  REGULAR   3144808  1088317   
6      A002  R051  02-00-00  05-02-11  00:00:00  REGULAR   3144895  1088328   

       Entries diff  
index                
0               NaN  
1                23  
2                18  
3                71  
4               170  
5               214  
6                87 

相关问题 更多 >