gpt4 book ai didi

python - 将一列的每个元素乘以同一数据框中不同列的每个元素

转载 作者:太空宇宙 更新时间:2023-11-03 14:05:27 24 4
gpt4 key购买 nike

我需要将一列的每个元素乘以来自同一数据帧的不同列的每个元素。我的原始数据集看起来像这样:

   origin    sum    sum2
a. 2 1
b. 4 2
c. 6 3

我期望的结果类似于:

   origin    dest   result (sum * sum2)
a. a. 2
a. b. 4
a. c. 6
b. a. 4
b. b. 8
b. c. 12
c. a. 6
c. b. 12
c. c. 18

我正在写的脚本如下,但是我得不到需要的结果:

x = 0
numerator = []

for index1, row1 in df.iterrows():
constant = row1
numerator.append([])

for index2, row2 in df.iterrows():
result = row2*constant

numerator[x].append(result)

x = x + 1

最佳答案

您可以使用:


mux = pd.MultiIndex.from_product([df.origin, df.origin], names=['origin','dest'])
data = np.outer(df['sum'], df['sum2']).ravel()
df = pd.DataFrame(data, index=mux, columns=['result']).reset_index()
print (df)
origin dest result
0 a. a. 2
1 a. b. 4
2 a. c. 6
3 b. a. 4
4 b. b. 8
5 b. c. 12
6 c. a. 6
7 c. b. 12
8 c. c. 18

关于python - 将一列的每个元素乘以同一数据框中不同列的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44015888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com