pyspark.sql.Row


Row顾名思意就是"行"的意思,表示DataFrame中的一行。 可以访问其中的字段。

  • 以属性的方式访问字段:row.key
  • 以字典的方式访问字段:row[key]
  • 可以遍历访问字段的值:key in row
    Row可以用于通过使用命名参数创建行对象,字段将按名称排序。 不允许省略命名参数来表示值为None或缺失。 在这种情况下,应将其显式设置为None。
>>> row = Row(name="Alice", age=11)
>>> row
Row(age=11, name='Alice')
>>> row['name'], row['age']
('Alice', 11)
>>> row.name, row.age
('Alice', 11)
>>> 'name' in row
True
>>> 'wrong_key' in row
False

可以创建Row对象

>>> Person = Row("name", "age")
>>> Person
<Row(name, age)>
>>> 'name' in Person
True
>>> 'wrong_key' in Person
False
>>> Person("Alice", 11)
Row(name='Alice', age=11)

Row转化字典asDict(recursive=False)

  • recursive=True时,表示将嵌套的Row转换为dict(默认值:False)
>>> Row(name="Alice", age=11).asDict() == {'name': 'Alice', 'age': 11}
True
>>> row = Row(key=1, value=Row(name='a', age=2))
>>> row.asDict() == {'key': 1, 'value': Row(age=2, name='a')}
True
>>> row.asDict(True) == {'key': 1, 'value': {'name': 'a', 'age': 2}}
True

Row比较简单,就到这里啦。

发布了24 篇原创文章 · 获赞 2 · 访问量 1185

猜你喜欢

转载自blog.csdn.net/qq_40176087/article/details/100069659