1
votes

Profilage de données à l'aide de python

J'ai un bloc de données comme ci-dessous:

 Columns       | Null Values | Duplicate |
 member_id     |  N          |   N       |
 loan_amnt     |  N          |   N       |
 Age           |  N          |   Y       |
 Marital Status|  Y          |   N       |

Je veux créer un fichier de sortie au format ci-dessous

 member_id  |   loan_amnt   |  Age   | Marital_status
 AK219      |    49539.09   |  34    |  Married 
 AK314      |    1022454.00 |  37    |  NA
 BN204      |    75422.00   |  34    |  Single

Je sais à propos d'un package python appelé PandasProfiling mais je veux le construire de la manière ci-dessus afin de pouvoir améliorer mon code par rapport aux ensembles de données.


2 commentaires

Avez-vous essayé quelque chose?


@ Ruturaj- J'ai exécuté le package python PandasProfiling , il m'a donné des détails sur les valeurs Null, les valeurs en double, les valeurs maximum et min. Mais je veux construire cela par moi-même. Je dois améliorer cela davantage.


3 Réponses :


2
votes

Utilisez quelque chose comme:

m=df.apply(lambda x: x.duplicated())
n=df.isna()
df_new=(pd.concat([pd.Series(n.any(),name='Null_Values'),pd.Series(m.any(),name='Duplicates')],axis=1)
                     .replace({True:'Y',False:'N'}))


0 commentaires

0
votes

Voici le python one-liner:

pd.concat ([df.isnull (). any (), df.apply (lambda x: x.count ()! = x.nunique ())], 1) .replace ({True : "Y", Faux: "N"})


0 commentaires

0
votes

En fait, le profil Pandas_Profiling vous offre plusieurs options où vous pouvez déterminer s'il existe des valeurs répétitives.


0 commentaires