Comment sélectionner les plages, dans les Pandas à l'aide d'une ligne
J'ai une Pandas dataframe.
J'ai dans un autre processus sélectionné une ligne à partir de ce dataframe.
À une autre méthode, j'ai maintenant besoin de sélectionner une plage à partir de ce dataframe où la ligne d'est et de revenir 55 lignes, si il y en a tellement.
Voici le pseudo-code, espérons que cela aide:
df = DataFrame from csv
row = df[3454]
index = row.index
start = max(0, index - 55)
end = max(1, index)
dfRange = df[start:end]
- est-ce que votre code ne fonctionne pas? Vous êtes mieux d'utiliser
iloc
syntaxe que ce que vous faites ne fonctionne que si ces valeurs de l'indice d'exister - Aussi, si vous ne l'avez pas déjà lu le docs
Vous devez vous connecter pour publier un commentaire.
Cela devrait le faire
Ce lien a plus d'info
Obtenir le nombre entier d'index de Pandas DataFrame ligne remplir une condition?
iloc
ne fait pas fonctionner sur le dataframeindex
— il fonctionne sur ligne les indices, ce qui pourrait ne pas être le même — et même si vous avez un entierindex
, une fois que vous commencez le découpage de votre dataframe, il pourrait ne pas être contigus ou 0. Je suppose que si je veux une plage de lignes entre deuxindex
valeurs, je pourrais essayer de comprendre la ligne des indices d'abord et ensuite appliquer cette méthode? Quelque chose comme...df_reindexed = df.reset_index(); start = df_reindexed[df_reindexed['index'] == start].index[0]; end = <similar>; df_reindexed.iloc[start:end]
?