python - 有没有什么方法可以将一列 pandas 与其他每一列相乘并获得产品列表?

标签 python python-3.x pandas list dataframe

有没有办法将一列 pandas 与其他每一列相乘并获得乘积总和列表? 我会尝试简述我的问题让我们假设我的数据集是

Label  X   Y1  Y2
=================
abc    4   0   1
xyz    0   1   0
...    2   3   2
...    3   2   4
...    4   4   3
...    2   1   0 

我需要一个列表list_sum

list_sum = [sum(X*Y1), sum(X*Y2)]

X 列中的每个元素与 Y1 列中的相应元素相乘,然后将所有数字相加,Y1 也是如此。 在这种情况下 list_sum 应该是

list_sum = [30, 32] 

但我的要求是包含 n 列的数据框,而不使用 for 循环进行迭代,因为这确实会花费我的计算时间。 如果我遗漏了任何内容或信息不足,我一定会在通知中更新。

最佳答案

更通用的方法:

# list of columns to be multiplied by X
columns = list(set(df.columns).difference("X"))
print(columns)

sum_list = [sum(df["X"]*df[i]) for i in columns]
print(sum_list)

编辑

columns = list(set(df.columns).difference("X"))

df_ = df[columns].multiply(df["X"], axis="index")

print(df_.sum().tolist())

关于python - 有没有什么方法可以将一列 pandas 与其他每一列相乘并获得产品列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59355155/

相关文章:

python - 如何在 peewee 查询的文本字段中搜索子字符串

python - Python 3.6.4中使用Urllib下载图像

python - 根据 Pandas 中其他列的值为新列分配值

python - 如何解压函数返回的元组?

python - 在python中使用selenium webdriver从父xpath中找出所有子元素xpath

Python - 减少数据库的大小

python - 如何访问多级 pandas 数据框中的特定值

python - 如何从html中提取一些url?

python - 在WTForms中使用自定义属性创建selectfield选项

python - 使用 Python 通过 FTP 下载整个目录