【问题标题】:Combine columns in a Pandas DataFrame to a column of lists in a DataFrame将 Pandas DataFrame 中的列组合到 DataFrame 中的列表列
【发布时间】:2015-01-24 13:04:23
【问题描述】:

考虑以下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]

如何在 Pandas 中实现这一点?

【问题讨论】:

    标签: python list pandas dataframe


    【解决方案1】:

    您可以像这样在一行中完成:

    >>> 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

    【讨论】:

    • 如何对值进行排序然后放入列表中?
    猜你喜欢
    • 2015-03-16
    • 2012-06-13
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    相关资源
    最近更新 更多