用法:
DataFrame.eval(expr, inplace=False, **kwargs)
评估说明对 DataFrame 列的操作的字符串。
仅对列进行操作,而不对特定的行或元素进行操作。这允许
eval
运行任意代码,如果您将用户输入传递给此函数,这可能会使您容易受到代码注入的影响。- ndarray、标量、pandas 对象或无
如果
inplace=True
,则为评估结果或 None 。
参数:
返回:
注意:
有关更多详细信息,请参阅
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
使用
inplace=True
修改原始DataFrame。>>> df.eval('C = A + B', inplace=True) >>> df A B C 0 1 10 11 1 2 8 10 2 3 6 9 3 4 4 8 4 5 2 7
可以使用 multi-line 表达式分配多个列:
>>> 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
相关用法
- Python pandas.DataFrame.ewm用法及代码示例
- Python pandas.DataFrame.expanding用法及代码示例
- Python pandas.DataFrame.eq用法及代码示例
- Python pandas.DataFrame.explode用法及代码示例
- Python pandas.DataFrame.empty用法及代码示例
- Python pandas.DataFrame.equals用法及代码示例
- Python pandas.DataFrame.dot用法及代码示例
- Python pandas.DataFrame.apply用法及代码示例
- Python pandas.DataFrame.combine_first用法及代码示例
- Python pandas.DataFrame.cumsum用法及代码示例
- Python pandas.DataFrame.rename用法及代码示例
- Python pandas.DataFrame.to_numpy用法及代码示例
- Python pandas.DataFrame.dtypes用法及代码示例
- Python pandas.DataFrame.cummin用法及代码示例
- Python pandas.DataFrame.truncate用法及代码示例
- Python pandas.DataFrame.sparse.from_spmatrix用法及代码示例
- Python pandas.DataFrame.add_prefix用法及代码示例
- Python pandas.DataFrame.to_json用法及代码示例
- Python pandas.DataFrame.convert_dtypes用法及代码示例
- Python pandas.DataFrame.assign用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.eval。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。