python - 有条件地子集数据框
问题描述
任何关于更 Pythonic 分组方式的建议也值得赞赏
我有一个数据框“golfdf”,它由“团队”和“俱乐部”两列组成。
Teams Clubs
0 Aiden Right
1 Alexa Right
2 Alina NaN
3 Allison Right
4 Amity Right
5 Antoine NaN
6 Ben NaN
...
35 Connor Right
我试图将数据帧随机排列,然后将数据帧分成四组,每组最少两个,最多三个 NaN 值。
我洗牌使用:
gdf = golfdf.sample(frac=1)
然后使用以下方法分成四组:
n = int(len(gdf)/9)
groups_n = np.cumsum([0, n, n, n, n, n, n, n, n, len(gdf)-(8*n)])
d = {}
for i in range(9):
d[i+1] = gdf.iloc[groups_n[i]:groups_n[i+1]]
输出如预期:
Teams Clubs
8 Breanne NaN
5 Antoine NaN
27 Noah NaN
16 Ellen Left
Teams Clubs
20 Helen NaN
22 Keegan NaN
28 Payton NaN
32 Sean NaN
...
但我不确定如何添加指定约束的条件。如果我遗漏了任何相关信息,请告诉我。
谢谢!
解决方案
推荐阅读
- php - 重定向到详细信息站点并再次返回后如何保存用户过滤器输入
- javascript - 在html中加载脚本序列
- python - 使用 python-amazon-mws API 的 Amazon Feed
- hive - 重命名分区并设置新位置配置单元
- r - 如何读取 R feom 数据框中的事务?
- python - 使用正则表达式提取数字
- python - Python:如何沿给定的编号轴获取单位向量?
- mysql - 如何使用 Spring Boot 从选择查询中获取结果
- azure - 如何在新门户 Azure 中的 Azure Active Directory 中为自己授予权限?缺少“授予权限”按钮
- azure - 使用 Azure 应用程序网关的认证链中的问题