也欢迎使用任何更Python化的分组方式的建议
我有一个数据框“ golfdf”,它由两列“ Teams”和“ Clubs”组成。
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
...
但是我不确定如何添加一个条件来指定约束。如果我遗漏了任何相关信息,请告诉我。
谢谢!