PYTHON 如何使用 numpy.where 添加包含下一行数据框中的数据的列?
Posted
技术标签:
【中文标题】PYTHON 如何使用 numpy.where 添加包含下一行数据框中的数据的列?【英文标题】:PYTHON How to add a column using numpy.where that includes data from the dataframe in the next row? 【发布时间】:2020-09-14 23:36:36 【问题描述】:我真的是 python 新手,非常感谢您的帮助。
我正在尝试在 python 中向我的数据框添加一列。我正在使用以下内容:
df['capital']=np.where(df['year']!=1960,2,df['GDP'])
除了,当我写 GDP 时,我真正想要的是 1961 年的 GDP。知道如何包含它吗?
【问题讨论】:
【参考方案1】:您可以使用.shift()
来使用下一行中的GDP
值。默认情况下,1
会传递给 .shift()
,但您也可以传递 -1
或 2
等来向上或向下比较任意数量的行:
df['capital'] = np.where((df['year'] != 1960), 2, df['GDP'].shift())
【讨论】:
以上是关于PYTHON 如何使用 numpy.where 添加包含下一行数据框中的数据的列?的主要内容,如果未能解决你的问题,请参考以下文章
Numpy根据条件批量修改元素的值(numpy.where)
Pandas 掩码 / where 方法与 NumPy np.where
numpy.where和numpy.piecewise的用法