【发布时间】:2021-07-30 15:30:00
【问题描述】:
我想将一个数字列表乘以一个 ndarray,即列表中的每个数字乘以第一个 ndarray。 这是列表:
list1 = [840,845,897]
这是 ndarray 的列表
list = df['Example']
list
0 [[nan, nan, nan, 0.854,nan,0.562,0.21615],[nan, nan, nan, 0.854,nan,0.562,0.21615]]
1 [[nan, nan, nan, nan, nan, nan, 0.5196,0.56518,0.165],[nan, nan, nan, nan, nan, nan, 0.816,0.5565518,0.225]
2 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845],[nan, 0.595, nan, nan, 0.2651, nan, nan, 0.8528845],[nan, nan, nan, nan, nan, nan, nan, 0.8516]
我想将列表中的第一项乘以第一个 ndarray。 nan 值仍然是 nan 并且只是乘以浮点数。我尝试过使用 map、lambda 函数、for 迭代,但没有成功。我经常遇到的错误是:TypeError: can't multiply sequence by non-int of type 'str'。它可以使用新数据创建一个单独的列,或者只是创建一个列表。结果:
list_new
0 [[nan, nan, nan, 717.36,nan,472.08,181.566],[nan, nan, nan, 717.36,nan,472.08,181.5666]]
1 [[nan, nan, nan, nan, nan, nan, 439.062,477.5771,139.425],[nan, nan, nan, nan, nan, nan, 689.52,470.28,190.125]
2 [[nan, nan, nan, nan, nan, nan, nan, 765.037],[nan, 533.715, nan, nan, 237.79, nan, nan, 765.037],[nan, nan, nan, nan, nan, nan, nan, 763.8852]
【问题讨论】: