Python 3.x KeyError:(';var1';,';发生在索引16';)

Python 3.x KeyError:(';var1';,';发生在索引16';),python-3.x,apply,Python 3.x,Apply,我在下面的代码行中得到了一个奇怪的错误消息:keyrerror:('var1','accurrentedatindex 16'): df['var1'] = df.apply(lambda row: (row['var1']*row['var2']), axis = 1) 我将df数据帧的两列相乘。df.index中的16是True。我可以正常进入第16排。如果删除该行,错误将继续存在 有什么想法吗 编辑: 根据要求,数据样本如下: X var1

我在下面的代码行中得到了一个奇怪的错误消息:keyrerror:('var1','accurrentedatindex 16')

df['var1'] = df.apply(lambda row: (row['var1']*row['var2']), axis = 1)
我将df数据帧的两列相乘。df.index中的
16是
True
。我可以正常进入第16排。如果删除该行,错误将继续存在

有什么想法吗

编辑: 根据要求,数据样本如下:

             X        var1                          Y \
0    US4642867729  22.3052  Korea; Republic (S. Korea)
1    US4642867729   5.9139  Korea; Republic (S. Korea)
2    US4642867729   3.0799  Korea; Republic (S. Korea)
3    US4642867729   2.9647  Korea; Republic (S. Korea)
4    US4642867729   2.5798  Korea; Republic (S. Korea)
5    US4642867729   2.5281  Korea; Republic (S. Korea)
6    US4642867729   2.3359  Korea; Republic (S. Korea)
7    US4642867729   2.2434  Korea; Republic (S. Korea)
8    US4642867729   1.8624  Korea; Republic (S. Korea)

                          W             Z     \
0    Information Technology  US4642867729
1    Information Technology  US4642867729
2                 Materials  US4642867729
3               Health Care  US4642867729
4    Information Technology  US4642867729
5                Financials  US4642867729
6    Consumer Discretionary  US4642867729
7                Financials  US4642867729
8                 Materials  US4642867729

                                                  var2
0    0.16258420849834973043179786600376246497035026...
1    0.16258420849834973043179786600376246497035026...
2    0.16258420849834973043179786600376246497035026...
3    0.16258420849834973043179786600376246497035026...
4    0.16258420849834973043179786600376246497035026...
5    0.16258420849834973043179786600376246497035026...
6    0.16258420849834973043179786600376246497035026...
7    0.16258420849834973043179786600376246497035026...
8    0.16258420849834973043179786600376246497035026...

谢谢你的时间

如果您只想将两列相乘并将结果存储在第一列中,您可以使用比使用
apply
lambda
更简单的解决方案来解决此问题:

df['var1'] *= df['var2']

你能发布你的数据样本吗?当然!看编辑