我正在练习Pandas Dataframe ,我对一件事感到困惑,因为我在Python方面还是一个新手,来自一个强大的Java,C家族背景。
for i in dataframe1.columns:
dataframe1[i] = np.where(dataframe1[i] == 0, np.nan, dataframe1[i])
我对迭代的内容感到困惑。我认为dataframe1.columns将返回列名或列对象(但这是在Python中完成的)。因此,当使用where()函数为条件、dataframe1[i] == 0是否只检查列名(不管是字符串格式还是对象格式)== 0还是python隐式迭代每列中的值,即使代码中没有显式指定?
我错过了什么吗?请指示。
1条答案
按热度按时间6l7fqoea1#
在@ddejohn上建立,
使用替换将给予:
请注意,它没有切换第一列中的零,因为它是一个零字符串,而不是实际的零。