遍历两个大小相等的pd.series列表。如果lst_1
中的序列元素全为零,并且lst_2
中相同的索引元素为None
,则如何用的元素更新None
的{{1}}元素lst_2
在同一索引中?
lst_1
预期结果:
# 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...
答案 0 :(得分:2)
这应该有帮助:
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]
答案 1 :(得分:1)
很小的调整就能使它起作用:
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))