Partage
  • Partager sur Facebook
  • Partager sur Twitter

couple d'objet similaire data frame

trouver couple d'objet similaire à partir d'une data frame

    21 janvier 2018 à 2:43:17

    qui peut m'aider de trouver une solution SVP
    comment éviter les deux boucles et optimiser mon code pour pouvoir gérer des big   data
    Merci.
       
    from pyjarowinkler import distance
    import numpy as np
    import pandas as pd
    def similar(name,firstname):
        if distance.get_jaro_distance(name,firstname,winkler=True,scaling=0.1):
            return 1
        else:
            return 0
    array = np.array([[1,'aaa','bbb'],[2,'ccc','bbb'],[3,'zzzz','bbb'],
                      [4,'eee','zzzz'],[5,'cccv','bbbn'],[6,'zzz','bb'],
                      [7,'aaav','bbbv']])
    df = pd.DataFrame(array,columns=(['id','name','firstname']))
    l=[]
    for i in range(len(df)):
        for j in range(i+1,len(df)):
            if similar(df.loc[i]['name'] ,df.loc[j]['name'])==1 & similar(df.loc[i]['firstname'] ,df.loc[j]['firstname'])==1:
                l.append((df.loc[i]['id'],df.loc[j]['id']))
    print l

    -
    Edité par dalilaaroussi 21 janvier 2018 à 23:16:59

    • Partager sur Facebook
    • Partager sur Twitter
      21 janvier 2018 à 15:44:59

      Premièrement, j'imagine qu'il y a une erreur d'indentation dans le script que tu as posté. Les lignes 9-18 devraient être désindentées.

      Deuxièmement, je veux bien aider, mais je ne vais pas passer du temps à essayer de comprendre ce que tu essaies de faire. Pourquoi ne pas plutôt nous expliquer ce que tu essaies de faire afin qu'on t'oriente ?

      Troisièmement, j'ai déjà répondu à un post précédent de ta part concernant pandas. Il serait bon de nous expliquer ce que tu as déjà trouvé dans la documentation qui pourrait convenir. Car là, j'ai un peu l'impression que tu ne te prends pas la peine d'apprendre à utiliser pandas, mais tu comptes sur nous pour faire le boulot à ta place...

      Quatrièmement, je doute que la bibliothèque pyjarowinkler ait un quelconque intérêt ici pour résoudre ton problème. Donc quand on fournit un code minimaliste dans le but de recevoir de l'aide, on coupe ce genre de dépendance. Sinon tu risques d'avoir encore moins de réponses. C'est pas super important que la fonction similar fasse exactement ce qui est nécessaire dans ton code. Tu pourrais faire une bête fonction qui compare par example les longueurs de chaînes de caractères.

      -
      Edité par Dan737 21 janvier 2018 à 15:49:02

      • Partager sur Facebook
      • Partager sur Twitter

      couple d'objet similaire data frame

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown