我试图从两个Pandas数据帧中删除缺失的值:
Data1 = pd.read_csv(r"C:\Users\Zihao\Desktop\New\OBSTET.csv")
Data2 = pd.read_csv(r"C:\Users\Zihao\Desktop\New\PRODUCTOS.csv", index_col = 0)
def DropNan(Data1, Data2):
Data1 = Data1.dropna()
Data2 = Data2.dropna()
当我调用该方法时,它不起作用(它不会删除缺少的值)。我想知道是什么导致了这个问题
我的猜测是它与Python中的参考语义有关我不明白。有人能解释一下吗
在你的函数中,Data1
和Data2
是参数,因此是局部变量。事实上它们碰巧与全局变量具有相同的名称是无关紧要的(除了引起一些额外的混淆)。
如果要更改全局变量,请执行以下操作:
def DropNan():
global Data1, Data2
Data1 = Data1.dropna()
Data2 = Data2.dropna()
DropNan()
或者,如果您想将这两个值作为参数,您几乎肯定想要返回两个值:
def DropNan(d1, d2):
return d1.dropna(), d2.dropna()
Data1, Data2 = DropNan(Data1, Data2)