【问题标题】:A variable b showing the following value of each given value in variable a变量 b 显示变量 a 中每个给定值的以下值
【发布时间】:2021-01-02 10:40:18
【问题描述】:

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

    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'].shift(-1)

标签: python python-3.x pandas series


【解决方案1】:

请您在 pandas 中尝试以下操作:

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

当我们打印 Dataframe 值时,它将如下:

     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

【讨论】:

    【解决方案2】:

    这是完整的代码:

    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 在同一个数据框中,您可以将它们连接起来。

    【讨论】:

      【解决方案3】:

      试试:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-23
        • 2011-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-15
        • 2022-09-23
        相关资源
        最近更新 更多