dataframe - 获取 DataFrame 的 Column 值导致 'Column' 对象不可调用
问题描述
对于从 FileStore 读取的流,我正在尝试检查第一行值的第一列是否等于某个字符串。不幸的是,当我以任何方式访问此列时,例如在其上启动 .toList() 时,它会抛出
if df["Name"].iloc[0].item() == "Bob":
TypeError: 'Column' object is not callable
我从以下位置调用 customProcessing 函数:
df.writeStream\
.format("delta")\
.foreachBatch(customProcessing)\
[...]
在这个函数中,我试图获取值,但是获取数据的方法都不起作用。同样的错误被抛出。
def customProcessing(df, epochId):
if df["Name"].iloc[0].item() == "Bob":
[...]
是否有可能阅读单列?或者它是特定于 writeStream 的,我无法在该输入上使用条件?
解决方案
没有iloc
火花数据框——这不是熊猫;也没有索引的概念。
如果您想获得第一个项目,您可以尝试
df.select('Name').limit(1).collect()[0][0] == "Bob"
推荐阅读
- c++ - C++ 中的 CreateDirectory windows API 使用在 C:/users 下创建目录而不以管理员身份运行应用程序
- python - 我的 Python 代码出现数学域错误,不知道该怎么做
- python - 使用正则表达式检测具有 if 语句的 jinja2 变量 - python
- django - 如何用 django 存储数学公式
- sql - Oracle - PLSQL 在截断/加载过程后检查记录数的差异
- jquery - 基于jQuery中动态添加的类更改点击事件延迟
- html - 如何增加一颗行星?html5 css3 动画
- python - Python:冒泡排序的列表索引超出范围
- eclipse-plugin - 以编程方式从打开的 xtext 编辑器访问完成建议
- javascript - Testcomplete Javascript - 打印 SQL 查询的输出