当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark DataFrame.to_records用法及代码示例


本文简要介绍 pyspark.pandas.DataFrame.to_records 的用法。

用法:

DataFrame.to_records(index: bool = True, column_dtypes: Union[str, numpy.dtype, pandas.core.dtypes.base.ExtensionDtype, Dict[Union[Any, Tuple[Any, …]], Union[str, numpy.dtype, pandas.core.dtypes.base.ExtensionDtype]], None] = None, index_dtypes: Union[str, numpy.dtype, pandas.core.dtypes.base.ExtensionDtype, Dict[Union[Any, Tuple[Any, …]], Union[str, numpy.dtype, pandas.core.dtypes.base.ExtensionDtype]], None] = None) → numpy.recarray

将 DataFrame 转换为 NumPy 记录数组。

如果请求,索引将作为记录数组的第一个字段包含在内。

注意

仅当生成的 NumPy ndarray 预计很小时才应使用此方法,因为所有数据都加载到驱动程序的内存中。

参数

index布尔值,默认为真

在结果记录数组中包含索引,存储在 ‘index’ 字段中或使用索引标签(如果已设置)。

column_dtypesstr,类型,字典,默认无

如果是字符串或类型,则存储所有列的数据类型。如果是字典,则为列名和索引 (zero-indexed) 到特定数据类型的映射。

index_dtypesstr,类型,字典,默认无

如果是字符串或类型,则存储所有索引级别的数据类型。如果是字典,则索引级别名称和索引 (zero-indexed) 到特定数据类型的映射。仅当 index=True 时才应用此映射。

返回

numpy.recarray

NumPy ndarray,其中 DataFrame 标签作为字段,DataFrame 的每一行作为条目。

例子

>>> df = ps.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},
...                   index=['a', 'b'])
>>> df
   A     B
a  1  0.50
b  2  0.75
>>> df.to_records() 
rec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],
          dtype=[('index', 'O'), ('A', '<i8'), ('B', '<f8')])

索引可以从记录数组中排除:

>>> df.to_records(index=False) 
rec.array([(1, 0.5 ), (2, 0.75)],
          dtype=[('A', '<i8'), ('B', '<f8')])

列的 dtype 规范是 pandas 0.24.0 中的新内容。可以为列指定数据类型:

>>> df.to_records(column_dtypes={"A": "int32"}) 
rec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],
          dtype=[('index', 'O'), ('A', '<i4'), ('B', '<f8')])

索引的 dtype 规范在 pandas 0.24.0 中是新的。也可以为索引指定数据类型:

>>> df.to_records(index_dtypes="<S2") 
rec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],
          dtype=[('index', 'S2'), ('A', '<i8'), ('B', '<f8')])

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.DataFrame.to_records。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。