将Pandas数据框中的列组合到DataFram中的列表列

2024-05-20 19:54:56 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑下面的DataFrame

n  v1 v2 v3 v4 v5
0   1  2  3  4  5
1   1  2  3  4  5
2   1  2  3  4  5

对于每一行,我想将v2v3v4的值添加到一个列表中,并将列表中的值与v5相乘,然后将结果放入一个新列v6,这样我就得到了一个类似这样的DataFrame

n  v1  v6
0   1  [10, 15, 20]
1   1  [10, 15, 20]
2   1  [10, 15, 20]

我怎样才能在熊猫身上做到这一点?


Tags: dataframe列表v3v2v4v1v5v6
1条回答
网友
1楼 · 发布于 2024-05-20 19:54:56

你可以这样一字排开:

>>> df['v6'] = df[['v2', 'v3', 'v4']].mul(df['v5'], axis=0).values.tolist()
>>> df
   v1  v2  v3  v4  v5            v6
0   1   2   3   4   5  [10, 15, 20]
1   1   2   3   4   5  [10, 15, 20]
2   1   2   3   4   5  [10, 15, 20]

这将执行列的相关乘法,将v2v3v4值放入列表(逐行)中,并创建新列v6

相关问题 更多 >