maxframe.dataframe.DataFrame.transform#

DataFrame.transform(func, axis=0, *args, dtypes=None, skip_infer=False, **kwargs)#

在自身上调用 func,生成一个包含转换后值的 DataFrame。

生成的 DataFrame 将具有与自身相同的轴长度。

参数:
  • func (function, str, list or dict) -- 用于转换数据的函数。如果是一个函数,则必须能够在传入 DataFrame 时工作,或者可以被传递给 DataFrame.apply。可接受的组合包括: - 函数 - 字符串形式的函数名 - 函数和/或函数名的列表,例如 [np.exp. 'sqrt'] - 轴标签到函数、函数名或其列表的字典。

  • axis ({0 or 'index', 1 or 'columns'}, default 0) -- 如果为 0 或 'index':将函数应用于每一列。如果为 1 或 'columns':将函数应用于每一行。

  • dtypes (Series, default None) -- 指定返回的 DataFrame 的数据类型。详见“说明”部分。

  • skip_infer (bool, default False) -- 当未指定 dtypes 或 output_type 时是否推断数据类型。

  • *args -- 传递给 func 的位置参数。

  • **kwargs -- 传递给 func 的关键字参数。

返回:

一个必须与自身具有相同长度的 DataFrame。

返回类型:

DataFrame

:raises ValueError : 如果返回的 DataFrame 与自身的长度不同。:

参见

DataFrame.agg

仅执行聚合类型的操作。

DataFrame.apply

在 DataFrame 上调用函数。

备注

在确定输出数据类型和返回值形状时,MaxFrame 会尝试将 func 应用于一个模拟 DataFrame,此时 apply 调用可能失败。发生这种情况时,你需要指定一个列表或 pandas Series 作为输出 DataFrame 的 dtypes

示例

>>> import maxframe.tensor as mt
>>> import maxframe.dataframe as md
>>> df = md.DataFrame({'A': range(3), 'B': range(1, 4)})
>>> df.execute()
   A  B
0  0  1
1  1  2
2  2  3
>>> df.transform(lambda x: x + 1).execute()
   A  B
0  1  2
1  2  3
2  3  4