dask.dataframe.DataFrame.eval
dask.dataframe.DataFrame.eval¶
- DataFrame.eval(expr, inplace=None, **kwargs)[源代码]¶
评估一个描述对DataFrame列进行操作的字符串。
此文档字符串是从 pandas.core.frame.DataFrame.eval 复制而来的。
Dask 版本可能存在一些不一致性。
仅对列进行操作,不对特定的行或元素进行操作。这允许 eval 运行任意代码,如果你将用户输入传递给此函数,可能会使你容易受到代码注入的攻击。
- 参数
- 返回
- ndarray, 标量, pandas 对象, 或 None
评估的结果,如果
inplace=True
则为 None。
参见
DataFrame.query
评估一个布尔表达式以查询帧的列。
DataFrame.assign
可以计算表达式或函数来为列创建新值。
eval
使用各种后端评估作为字符串的Python表达式。
注释
更多详情请参阅
eval()
的API文档。详细示例请参阅 使用eval提升性能。示例
>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)}) >>> df A B 0 1 10 1 2 8 2 3 6 3 4 4 4 5 2 >>> df.eval('A + B') 0 11 1 10 2 9 3 8 4 7 dtype: int64
虽然默认情况下原始 DataFrame 不会被修改,但允许进行赋值。
>>> df.eval('C = A + B') A B C 0 1 10 11 1 2 8 10 2 3 6 9 3 4 4 8 4 5 2 7 >>> df A B 0 1 10 1 2 8 2 3 6 3 4 4 4 5 2
可以使用多行表达式分配多个列:
>>> df.eval( ... ''' ... C = A + B ... D = A - B ... ''' ... ) A B C D 0 1 10 11 -9 1 2 8 10 -6 2 3 6 9 -3 3 4 4 8 0 4 5 2 7 3