pandas - 使用 pd.isnull 按列名迭代 pandas 数据帧
问题描述
我可以使用 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)
错误是
键错误:1
任何人都知道通过 pd.notnull 之后的列名来迭代数据帧。
解决方案
推荐阅读
- c# - 使用列表列表查询对象
- tensorflow - 在 Tensorflow 中使用矩阵乘法和 tf.layers.dense() 创建 ANN 有何不同
- node.js - 使用 Loopback 生成并发 ID
- c# - /langversion 的选项“7”无效;必须是 ISO-1、ISO-2、默认值或 1 到 6 范围内的整数
- java - 使用 Lambda 设置 OnCheckedChangeListener
- javascript - 可以 .push() 到动态命名的键吗?
- javascript - 如何动态获取执行另一个函数的函数名?
- javascript - onsubmit 问题不允许发送操作
- weblogic - 通过 WLST 的 Weblogic 部署健康状态
- flutter - 如何调整 DropdownButton 上的箭头/插入符号?