为了账号安全,请及时绑定邮箱和手机立即绑定

在 pandas 中应用行的移位函数组

在 pandas 中应用行的移位函数组

心有法竹 2023-07-11 17:09:27
我正在尝试从 curr_value 功能创建新的列功能。在这里,我想从之前的当前值中获取值,使用df.curr_value.shift(fill_value=-1)I 可以获取之前的值。如何仅将移位应用于唯一的“uid”列。例如,在下面的示例中,我想将移位应用于 uniqie ID 值。 df[df['uid']==1].curr_value.shift(fill_value=-1)pandas 中还有其他方法可以让我不需要迭代唯一的 uid 值吗?import pandas as pdimport numpy as npevents  = np.array([[1, 1, 1], [1, 2, 4], [1, 3, 3], [1, 3, 4], [2, 1, 4], [2, 2, 3]])df=pd.DataFrame(data=events, columns=["uid", "eid", "curr_value"])
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

是的,我们可以这样做groupby


df['pre'] = df.groupby('uid')['curr_value'].shift(fill_value=-1)

Out[5]: 

0   -1

1    1

2    4

3    3

4   -1

5    4

Name: curr_value, dtype: int32


查看完整回答
反对 回复 2023-07-11
  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信