【问题标题】:How to move every element in a column by n range in a dataframe using python?如何使用python在数据框中将列中的每个元素移动n个范围?
【发布时间】:2019-06-12 14:28:05
【问题描述】:

我有一个如下所示的数据框 df:

No  A   B   value
1   23  36   1
2   45  23   1
3   34  12   2
4   22  76   NaN
...

我想将“value”列中的每个值移动 2。第一行“value”不应该移动。

我已经尝试过正常的移位,它直接将所有内容移位 2。

df['value']=df['value'].shift(2)

我希望得到以下结果:

No  A   B   value
1   23  36   1
2   45  23   Nan
3   34  12   Nan
4   22  76   1
5   10  12   Nan
6   34  2    Nan
7   21  11   2
...

【问题讨论】:

    标签: python pandas dataframe shift


    【解决方案1】:

    你的情况

    df['Newvalue']=pd.Series(df.value.values,index=np.arange(len(df))*3)
    df
    Out[41]: 
       No   A   B  value  Newvalue
    0   1  23  36    1.0       1.0
    1   2  45  23    1.0       NaN
    2   3  34  12    2.0       NaN
    3   4  22  76    NaN       1.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-25
      • 1970-01-01
      • 2013-04-01
      相关资源
      最近更新 更多