python - 将 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()
谢谢你的帮助。
解决方案
您可以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]
推荐阅读
- ruby-on-rails - Google::Apis::AuthorizationError(未授权)
- python - 为什么我的简单 Spark 应用程序运行如此缓慢?
- javascript - 将 org.mozilla.javascript.NativeDate 插入 FreeMarker
- hta - 如何开始隐藏元素,然后在从 HTA 下拉列表中选择它时显示它?
- ruby-on-rails - 需要/从单独的文件扩展 ClassMethod
- matlab - 将matlab中地图上的点与地球曲率连接起来
- angularjs - Mocha 5.1.1 未测试所有文件
- angular - 错误类型错误:无法读取未定义的属性“news_category”
- qt - QTreeView setStyleSheet 没有效果
- angular-material - 为角度 6 添加角度材料时出错