遍历两个大小相等的pd系列列表。如果lst_1
中的一个系列元素全部为零,并且lst_2
中的同一索引元素是None
,如何用同一索引中的lst_1
元素更新lst_2
的None
元素?
# original lst_1 and lst_2
lst_1 = [pd.Series([1,0,1,0]), pd.Series([0,0,0,0]), pd.Series([2,0,2,0])]
lst_2 = [pd.Series([1,0,1,1]), None, pd.Series([2,2,0,0])]
# My try
for i, j in zip(lst_1, lst_2):
if (i.all() == 0) and (j is None):
j = pd.Series([0]*len(i))
# have got this far...
预期结果:
lst_1 = [pd.Series([1,0,1,0]), pd.Series([0,0,0,0]), pd.Series([2,0,2,0])]
lst_2 = [pd.Series([1,0,1,1]), pd.Series([0,0,0,0]), pd.Series([2,2,0,0])]
这应该会有所帮助:
for i in range(len(lst_1)):
if (lst_1[i].all() == 0) and lst_2[i] is None:
lst_2[i] = lst_1[i]
一个非常小的调整就会使其工作:
lst_1 = [pd.Series([1,0,1,0]), pd.Series([0,0,0,0]), pd.Series([2,0,2,0])]
lst_2 = [pd.Series([1,0,1,1]), None, pd.Series([2,2,0,0])]
for index, i, j in enumerate(zip(lst_1, lst_2)):
if (i.all() == 0) and (j is None):
lst_2[index] = pd.Series([0]*len(i))