首页 > 解决方案 > 选择 Python pandas 中的所有行

问题描述

我有一个函数,旨在在过滤要定义的某些行后sum沿 a 的列打印;pandas DataFrame并且这个数量在没有任何过滤器的情况下占相同总和的百分比:

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)但我想知道是否有更容易理解的东西(例如,我尝试使用 justTrue但它没有用)。

标签: pythonpandasfilter

解决方案


这是一种选择所有行的方法:

df[range(0, len(df))]

这也是

df[:]

但是我还没有想出一种方法来:作为参数传递。


推荐阅读