我想创建一个新的列,使其每4行重复一次其他列。使用起始行来填充中间的行。例如对于
df
,d = {'col1': range(1,10)}
df = pd.DataFrame(data=d)
我希望创建一个返回以下结果的 col2:
col1 col2
1 1
2 1
3 1
4 1
5 5
6 5
7 5
8 5
9 9
这是我的尝试
df['col2'] = np.concatenate([np.repeat(df.col1.values[0::4], 4),
np.repeat(np.NaN, len(df)%3)])
出现错误: 值错误: 值的长度与索引的长度不匹配
如果将4更改为3,则代码可以运行,因为 len(df)
是9。我希望能够编写更通用的代码。