我可以使用for循环来打印数据帧的每一行。
import pandas as pd
data = {"col1": [1.1, 2.2, 3.3]
, "col2": [4.4, None, 6.6]}
csv = pd.DataFrame(data)
for i in range(len(csv)):
col1 = csv["col1"][i]
col2 = csv["col2"][i]
print(col1, col2)
但是当我使用pd.notnull过滤数据帧时,for循环会出错。
csv = csv[pd.notnull(csv["col2"])]
print("csv:{}".format(csv))
for i in range(len(csv)):
col1 = csv["col1"][i]
col2 = csv["col2"][i]
print(col1, col2)
错误是
KeyError:1
任何人都知道通过pd.notnull之后的列名称来迭代数据帧。