我具有一个功能,该功能旨在在对要定义的某些行进行过滤之后,沿着pandas
数据帧的一列打印总和;且该数量所占的百分比在相同的总和中没有任何过滤器:
def my_function(df, filter_to_apply, col):
my_sum = np.sum(df[filter_to_apply][col]
print(my_sum)
print(my_sum/np.sum(df[col]))
现在,我想知道是否有任何方法可以使filter_to_apply
实际上不执行任何过滤器(即保留所有行),以继续使用我的函数(实际上更加复杂和方便),即使我不需要任何过滤器。
因此,某些filter_f1
可以做到:df[filter_f1] = df
,并且可以与其他过滤器一起使用:filter_f1 & filter_f2
。
[一个可能的答案是:df.index.isin(df.index)
,但我想知道是否有更容易理解的东西(例如,我尝试仅使用True
,但它没有用)。
这是选择所有行的一种方式:
df[range(0, len(df))]
这也是
df[:]
但是我还没有找到将:
传递给参数的方法。