【发布时间】:2015-02-02 23:43:16
【问题描述】:
给定以下数据:
data = {'a' : [1,1,1,8,8,3,3,3,3,4,4] }
df = pd.DataFrame(data)
我现在想将整个内容向下移动 n 个组,以便保留它们当前的顺序。 n=1 移位的期望输出是:
desired_output = {'a': [NaN,NaN,NaN,1,1,8,8,8,8,3,3] }
desired_output_df = pd.DataFrame(desired_output)
n=2 的移位应该是:
desired_output = {'a': [NaN,NaN,NaN,NaN,NaN,1,1,1,1,8,8] }
desired_output_df = pd.DataFrame(desired_output)
我一直在搞乱 groupby/transform/apply,但到目前为止还没有任何工作。如果我分组然后移位,它会移动每个组,给出以下输出:
NOT_desired_output = {'a' : [NaN, 1, 1, NaN, 8, NaN, 3,3,3, NaN, 4]}
我可以通过迭代来强制它,但我确信有更好的解决方案。有什么想法吗?
【问题讨论】:
标签: python pandas dataframe pandas-groupby