首页 > 解决方案 > 将 pandas DataFrame 有条件地分成两组

问题描述

我试图根据该列最后一行中的值是否大于 0 将数据集分成两组。

为了显示:

图片

这使我可以将 1,000 个客户分成两组。

pivot_data_credit = data.pivot_table(values='nr_credit_applications', index='yearmonth', columns=['client_nr'])

pivot_data_credit.loc[:,'Credit Total'] = pivot_data_credit.sum(axis=1)

pivot_data_credit.loc['TotalRow'] = pivot_data_credit.sum()

谢谢你的帮助。

标签: pythonpandasdataframegroup-by

解决方案


您可以iloc在最后一行进行掩码,并将掩码与loc过滤列的方法一起使用:

positive_mask = pivot_data_credit.iloc[-1, :] > 0
positive_clients = pivot_data_credit.loc[:, positive_mask]
non_positive_clients = pivot_data_credit.loc[:, ~positive_mask]

推荐阅读