J'ai un df
comme ce qui est d'environ 1000 lignes:Sur tous les 7 rangs, obtenir les nième ligne pandas géants
0 1
0 1.345 2.456
1 2.123 3.564
2 0.023 3.548
3 3.457 2.456
4 1.754 3.564
5 0.905 3.548
6 3.674 7.543
7 9.443 6.4433...
La façon dont il est organisé est tous les 7 rangs constitue un « ensemble » de données (les données ne peuvent être trié ici). Dans chacun des « groupes » de 7 lignes que je veux obtenir la première ligne donc ma nouvelle trame de données ressemblerait à ceci:
0 1
0 1.345 2.456
7 9.443 6.4433
je peux le résoudre en créant une nouvelle colonne qui se répète 1-7 & filtrage par seule cette colonne ...
0 1 groupby_col
0 1.345 2.456 1
1 2.123 3.564 2
2 0.023 3.548 3
3 3.457 2.456 4
4 1.754 3.564 5
5 0.905 3.548 6
6 3.674 7.543 7
7 9.443 6.4433 1...
puis ...
df[df['groupby_col'] == 1]
Est-il possible que je peux le faire en pandas géants sans avoir à créer une colonne supplémentaire puis filtrer?
me battra une minute! Pour ce que ça vaut, vous pouvez aussi utiliser df.ix [:: 7] – tnknepp
@tnknepp, merci! '.ix []' - est obsolète dans les versions modernes de Pandas – MaxU
Non, merci, je n'étais pas au courant .ix [] est déconseillé. J'ai besoin de mettre à jour mes pandas. Vous avez maintenant résolu deux problèmes avec votre publication. Merci! – tnknepp