Python 用于选择数据的源
要选择我使用的数据帧行,请执行以下操作:Python 用于选择数据的源,python,performance,pandas,Python,Performance,Pandas,要选择我使用的数据帧行,请执行以下操作: dataframe[dataframe['column_name'] == 'column_value'] 我试图发现这段代码的性能,但找不到API在查找行的上下文中定义=方法的位置 如何找到==运算符的源,以确定代码的上述性能 我假设它位于,但不确定如何搜索?首先,请注意=操作符在后台调用\uuuuueq。在您的上下文中,它与pd.Series对象相关,而不是与pd.DataFrame相关。所以这些是等价的: res = pd.Series([1,
dataframe[dataframe['column_name'] == 'column_value']
我试图发现这段代码的性能,但找不到API在查找行的上下文中定义=
方法的位置
如何找到==
运算符的源,以确定代码的上述性能
我假设它位于,但不确定如何搜索?首先,请注意
=
操作符在后台调用\uuuuueq
。在您的上下文中,它与pd.Series
对象相关,而不是与pd.DataFrame
相关。所以这些是等价的:
res = pd.Series([1, 2, 3]) == 1
res = pd.Series([1, 2, 3]).__eq__(1)
然后,您可以研究此方法:
pd.Series.__eq__
<function pandas.core.ops._comp_method_SERIES.<locals>.wrapper>
这应该让你开始。定义了一些实用函数,例如用于处理空值的函数,空值表示Pandas为数据操作添加的值。优化的操作最终可能会调用C级算法,这可能会使纯Python难以跟踪性能问题
def _comp_method_SERIES(op, name, str_rep, masker=False):
"""
Wrapper function for Series arithmetic operations, to avoid
code duplication.
"""
....