将数据框乘以列值

时间:2020-04-18 20:26:28

标签: pandas numpy dataframe

我目前正试图乘以当地货币价值的数据框,并通过乘以其相关的外汇汇率将其转换为其相关的加拿大价值。

但是,我不断收到此错误:

ValueError:操作数不能与形状(12252,)(1021,)一起广播

这是我现在正在使用的代码。当我有少量数据行时,它可以工作,但是一旦在完整文件(1022行数据,包括标头)上使用ValueError时,就会不断出现ValueError。

import pandas as pd
Local_File = ('RawData.xlsx')
df = pd.read_excel(Local_File, sheet_name = 'Local')
df2 = df.iloc[:,[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]].multiply(df['FX Spot Rate'],axis='index')
print (df2)

我的数据框看起来像这样,包含1022行数据(包括标头)

SampleData

感谢任何帮助!谢谢!

1 个答案:

答案 0 :(得分:0)

df = pd.DataFrame({'A': [1, 2, 3, 3, 1],
                       'B': [1, 2, 3, 3, 1],
                       'C': [9, 7, 4, 3, 9]})


    A   B   C
0   1   1   9
1   2   2   7
2   3   3   4
3   3   3   3
4   1   1   9

df.iloc[:,1:] = df.iloc[:,1:].multiply(df['A'][:], axis="index")

df

    A   B   C
0   1   1   9
1   2   4   14
2   3   9   12
3   3   9   9
4   1   1   9