Combine columns in a Pandas DataFrame to a column of lists in a DataFrame
dataframe, list, pandas, python
Solution
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]
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`.
Problem
Consider the following `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 ``` 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] ``` How can I achieve this in Pandas?