本文介绍了将Pandas DataFrame中的列合并到DataFrame中的列表列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
请考虑以下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
对于每一行,我想将v2
,v3
,v4
的值添加到列表中,并将列表中的值与v5
相乘,然后将结果放入新的列v6
中这样我最终得到这样的DataFrame
:
For each row, I want to add the values of v2
, v3
, v4
to a list and multiply the values in the list with v5
and put the result into a new column v6
such that I end up with a DataFrame
like this:
n v1 v6
0 1 [10, 15, 20]
1 1 [10, 15, 20]
2 1 [10, 15, 20]
如何在Pandas中实现这一目标?
How can I achieve this in Pandas?
推荐答案
您可以像这样在一行中完成此操作:
You can do it in one line like this:
>>> 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]
这将进行列的相关乘法,将v2
,v3
和v4
值放到列表列表中(逐行),并创建新的列v6
.
This does the relevant multiplication of columns, puts the v2
, v3
and v4
values out to a list of lists (row by row) and creates the new column v6
.
这篇关于将Pandas DataFrame中的列合并到DataFrame中的列表列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!