Python 将列表乘以n数组列表
我想把一个数字列表乘以一个n数组,也就是说,列表中的每个数字乘以第一个n数组 名单如下:Python 将列表乘以n数组列表,python,arrays,pandas,list,Python,Arrays,Pandas,List,我想把一个数字列表乘以一个n数组,也就是说,列表中的每个数字乘以第一个n数组 名单如下: rad_glob = list(df_radiation_global['Radiacion Global']) rad_glob [840.6019233865843, 838.5216723344233, 848.0960914721192, 868.2549621516736, 856.395770948553, 834.7011163700374, 845.9590749318633,
rad_glob = list(df_radiation_global['Radiacion Global'])
rad_glob
[840.6019233865843,
838.5216723344233,
848.0960914721192,
868.2549621516736,
856.395770948553,
834.7011163700374,
845.9590749318633,
879.446257064898,
650.7904290945771,
814.4754071050489,
736.1105621236436,
736.0329394056781,
873.7764268803811,
870.1957716272296,
904.985074880194,
858.1357154671834,
830.0583941643629,
878.693702287297,
848.669553553067,
863.545204861961,
825.3890093196567,
842.5188280674437,
865.3524589935482,
833.5260196891436,
276.4022647360663,
915.9376255942822,
864.3266555276591,
770.448229104661,
857.8907668737729,
837.7897681015845,
838.6796919844484,
416.3444326406533,
568.653862415028,
884.4158558809625,
825.3940207623805,
798.0613412638792,
863.0410218716003]
这是Ndaray的列表/df
alb_lo = df_radiation_global['1 - Albedo']
alb_lo
0 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
1 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
2 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
3 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
4 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
5 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
6 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
7 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
8 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
9 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
10 [[nan, nan, nan, nan, nan, nan, 0.781219920000...
11 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
12 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
13 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
14 [[nan, 0.79422526, 0.7942568400000001, 0.79905...
15 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
16 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
17 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
18 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
19 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
20 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
21 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
22 [[nan, nan, nan, nan, nan, nan, 0.80179372, 0....
23 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
24 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
25 [[nan, nan, 0.85725789, 0.85735359, 0.86033684...
26 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
27 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
28 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
29 [[nan, nan, nan, nan, nan, 0.84266864, nan, na...
30 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
31 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
32 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
33 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
34 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
35 [[nan, nan, nan, nan, nan, nan, nan, 0.8528845...
36 [[nan, nan, nan, nan, nan, nan, nan, nan, nan,...
Name: 1 - Albedo, dtype: object
我想把列表中的第一项乘以第一个数组。nan值保持nan,只需乘以浮点数即可。我尝试过map、lambda函数、for迭代,但没有成功。我经常遇到的错误是:
TypeError: can't multiply sequence by non-int of type 'str'. It can create a separate column with the new data, or simply create a list.
您需要做的就是从list类中创建一个新类,该类可以处理nan元素,这样您就不会出现异常 尝试: var=[2,2,3]*“无” 例外情况作为例外情况: 打印(“这是您的错误。让我告诉您如何修复它”,您的异常) 类列表\句柄\无(列表):
欢迎来到堆栈溢出!您能否将输入的大小减少到重新创建问题所需的最小行数和列数,并包含所提供输入的预期输出?查看
alb_lo
的形状?如果您想在这个问题中更清楚,我已经让您确定行是ndarray
?尝试alb\u lo。应用(键入)
并检查所有行是否
。
def __mul__(self, other):
if type(other)==type(3):
return list(self)*other
elif type(other)==type("nan"):
# raise TypeError("can't multiply sequence by non-int of type 'list'")
def handling_none(a):
if "nan" in[a,other]:
return "nan"
else:
return a*b
return list(map(handling_none,list(self)))
print(list_handle_none([1,2,3]))
print(list_handle_none([1,2,3])*"nan")