创建具有列表理解的数据框,每列都依赖于前一列

问题描述 投票:0回答:1

我需要创建一个具有列表理解的数据框,其中每一列等于某个固定变量 x 的前一个时间。

目前我用的是这个:

x = 2
new_df = pd.concat([ ( df['col'] * x ) for i in range(3)], axis=1)

但是,每一列并不依赖于前一列。

我只有第一栏:

0
2
3

我需要创建如下所示的内容,所有内容都在一行列表理解中:

0   0  0
2   4  8
3   6  12
python list loops list-comprehension
1个回答
0
投票

在列表理解中,您不断引用同一列“col1”而不是上一列。

由于您要乘以固定数字,因此可以使用:

new_df = pd.concat([df['col']*(x**i) for i in range(3)], axis=1)

>>> new_df

   col  col  col
0    0    0    0
1    2    4    8
2    3    6   12
© www.soinside.com 2019 - 2024. All rights reserved.