J'ai le résultat suivant: que j'ai reçu avec le code suivant: p> mais j'ai besoin d'un filtre qui vérifie les 3 premières lignes de la colonne "valor_new" si elle a le mot "contrato". p> Je ne peux pas créer de filtre pouvant faire cela, chaque filtre que je fais, cela ne me renvoie que des résultats où le mot "Contrato" apparaît dans la première ligne, comme exemple ci-dessous: p>
3 Réponses :
Si la colonne est une colonne de chaîne, il suffit de filtrer les valeurs par chaîne premier, ceux qui contiennent du contrat: strong> p> Ensuite, une autre qui ne fait pas (notez le "~" au début de la .loc, cela signifie opposé: strong> p> Enfin, vous concessez tous les deux avec ceux avec Contrato d'abord: strong> p> Notez que c'est sensible à la casse et que j'ai ajouté un EDIT: Ajout du Edit2: édité la solution d'origine p> vlwflws p> p> contient code>. En supposant que votre DF est
groupe code>. Puisque vous voulez que tous les résultats montrent, vous pouvez faire cette solution non élégante qui fait 3 dataframes:
Fillna () < / code> parce que vous ne pouvez pas rechercher s'il a des valeurs NaN. P>
(3) code> à la fin pour obtenir les 3 premières lignes, comme Vous avez demandé. p>
Cela m'a apporté juste les lignes avec le mot "contrato", j'en ai besoin pour être affichée tout, et ce filtre le contrat de mot dans les 3 premières lignes.
Filtrer comme dans SHOW Contrato sur les trois premières lignes ou retirer les 3 premières lignes si contient Contrat? Suis-je raison de supposer que vous êtes aussi brésilien? Si oui, pourriez-vous expliquer en Portugais Aswell?
UE PRÉCISO QUE ELE FILTRE E TRAGA TODO O TODO ODERADO, Não Quero Excluir, alors que Linhas Que Posezem A Palavra Contraat.
Então Mostrar Tudo Queue, Mas O Que Tiver Contrato Nas Primeiras Linhas? SE Tiver MAIS DE 3 RÉSULTADOS COM Contrato, Apenas Mostrar 3? Anglais: Il a besoin de tous les résultats sans exclure ceux qui ont contraint. En outre, j'ai demandé s'il doit juste trier les résultats avec Contrat en premier et que devrait-il arriver s'il apparaît plus de 3 fois
Sa réponse m'a aidé avec mes interrogations, mais il a fait un autre problème, j'ai du mal à le résoudre. Si je ne peux pas revenir à la question.
IIUC, vous devez vérifier vos données de données groupées pour 'contrato' code> dans la colonne
'valor_new' code> dans les trois premières lignes. Cette chèque devrait le faire:
if (group['VALOR_NEW'].head(3) == 'Contrato').any():
print(group)
Vous pouvez utiliser quelque chose comme ceci:
dfs = ['df_' + str(x) for x in my_list] dicdf = dict() i = 0 while i < len(dfs): dicdf[dfs[i]] = df[(df['CHAMADO']== my_list[i])] i = i + 1 print(dicdf)
Lire la question à nouveau après cette réponse m'a fait comprendre ce qui était nécessaire. Donc, pour chaque groupe de "Chamado", il doit vérifier si leurs 3 premières lignes contiennent "Contrato". Bon anky_91
Mais je dois séparer les articles par groupe, comme je le fais dans le groupe RET_GROUP = G1.GROUPBY (['Chamado']) L'ensemble de lataframe n'est pas pour moi d'analyser les résultats.
@Andreyglauzer pour que vous souhaitiez un fichier de données séparé pour chaque groupe où les 3 premières lignes contiennent le mot?
@Andreyglauzer: Avez-vous essayé la solution que j'ai donnée? Cela ne reviendra pas le Dataframe complet, juste ceux qui satisfont à votre condition.
Oui j'ai essayé et cela ne me renvoie que les rangées qui vont dans cette condition, pas le Dataframe séparé par groupe
@Andreyglauzer Vous voulez des données de données séparées pour le groupe de 3 ou l'ensemble du groupe?
J'ai besoin d'un groupe entier
Pouvez-vous nous donner un exemple de Dataframe à tester? Il y a trop de données ici, je suis confondu lequel à considérer, juste un exemple de données une production attendue aiderait
Le premier résultat peut être utilisé à titre d'exemple. Le fait est que j'ai besoin de mon filtre pour m'apporter des résultats où je vois dans les 3 premières lignes si vous avez le contrat de mot. parce qu'il y a des résultats où le contrat de mot n'existera pas
Vous voulez donc tous les groupes où les 3 premières lignes contiennent le mot «contrat»?
oui c'est l'intention