变量b显示变量a

问题描述

我有一个值列表(作为序列),如下所示:

    a
  12.34
  13.15
  14.36
  15.8
  16.41

我想创建一个新变量(b),其中包含每个给定值的以下值。所以输出看起来像这样:

    a        b
  12.34    13.15
  13.15    14.36
  14.36    15.8
  15.8     16.41
  16.41     nan

有人可以帮忙吗?

谢谢

解决方法

尝试:

df["b"] = df["a"].diff(-1)
,

请您尝试在熊猫中进行以下操作:

import pandas as pd
df['b']=df.shift(-1,axis = 0) 
df

当我们打印数据框值时,将如下所示:

     a        b
0   12.34   13.15
1   13.15   14.36
2   14.36   15.80
3   15.80   16.41
4   16.41   NaN
,

这是完整的代码:

import pandas as pd
import numpy as np
a=pd.Series((12.34,13.15,14.36,15.8,16.41))
b=[]
for x in range(len(a)):
    if x!=len(a)-1:
        b.append(a[x+1])
    else:
        b.append(np.nan)
b=pd.Series(b)
print(b)

这将创建一个名为b的新系列。如果您希望a和b都在同一数据框中,则可以将它们串联起来。