- 此问题在此处已有答案**:
Change column type in pandas(16个答案)
5天前关闭。
下午好,我正在尝试将dataframe (C)
的两列相乘。并将结果添加到新列中。我尝试了不同的方法,但都不起作用。我遇到的最常见错误是:
TypeError: can't multiply sequence by non-int of type 'float'
a i要相乘的列是:H04_PEDRO_MARIN
和SS(mg/l)
。另外,我还想创建一个包含结果的新列。
C:
H04_PEDRO_MARIN SS(mg/l) multiplication
Fecha
26/07/11 14:00 0.000000 80.4 0.000000
26/07/11 15:00 0.000000 76.1 0.000000
26/07/11 16:00 0.000000 0 0.000000
26/07/11 17:00 0.000000 0 0.000000
26/07/11 18:00 0.000000 0 0.000000
... ... ... ...
12/04/12 10:00 9430.166667 61.18 9430.166667
12/04/12 11:00 9430.166667 60.05 9430.166667
12/04/12 12:00 9430.166667 59.43 9430.166667
12/04/12 14:00 9430.166667 56.98 9430.166667
[11568 rows x 3 columns]
我试过:
C['multiplicaction'] = C['H04_PEDRO_MARIN'][1])*(C['SS(mg/l)'])
还有
cols = ['H04_PEDRO_MARIN','SS(mg/l)']
C['multiplication'] = C[cols].prod(axis=1)
而且不工作
甚至我试过在不同的 Dataframe 中分开两列,然后相乘,但还是不行。
谢谢你的任何解决办法。
2条答案
按热度按时间rwqw0loc1#
您可以执行以下操作:
它给出了
如果数据类型有问题,请更改为
pnwntuvh2#
检查列的类型:C.info()。要解决类型错误:无法将sequence乘以类型为float的non-int错误,请在将字符串乘以float之前将其转换为浮点数。如果在将字符串“3”乘以浮点数3.3之前将其转换为float,则不会出现错误。