我不太明白以下两个相似代码之间的区别:
def y(x):
temp=[]
def z(j):
temp.append(j)
z(1)
return temp
Run Code Online (Sandbox Code Playgroud)
调用y(2)返回[1]
def y(x):
temp=[]
def z(j):
temp+=[j]
z(1)
return temp
Run Code Online (Sandbox Code Playgroud)
调用y(2)返回UnboundLocalError: local variable 'temp' referenced before assignment.为什么+运算符会生成错误?谢谢
我有一个带有某些重复行的数据框,我只想联接这些重复行。下面给出一个例子:
name b c d
1 yp 3 NA NA
2 yp 3 1 NA
3 IG NA 3 NA
4 OG 4 1 0
Run Code Online (Sandbox Code Playgroud)
重复的行由具有相同名称的行定义。因此,在此示例中,需要以某种方式连接行1和行2,并NA用可能的数值替换这些值。
name b c d
1 yp 3 1 NA
2 IG NA 3 NA
3 OG 4 1 0
Run Code Online (Sandbox Code Playgroud)
假设:如果两行具有相同的名称,并且其对应的列不是NA,则对应的列值必须是相同的数值。