Профилирование данных с использованием Python - PullRequest
1 голос
/ 02 мая 2019

У меня есть фрейм данных, как показано ниже:

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

Я хочу создать выходной файл в следующем формате

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

Я знаю об одном пакете Python, называемом PandasProfiling, но я хочу построить его описанным выше способом, чтобы я мог улучшить свой код по отношению к наборам данных.

Ответы [ 3 ]

2 голосов
/ 02 мая 2019

Используйте что-то вроде:

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 голосов
/ 14 июля 2019

На самом деле Pandas_Profiling предоставляет вам несколько вариантов, где вы можете выяснить, есть ли повторяющиеся значения.

0 голосов
/ 02 мая 2019

Вот один вкладыш Python:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...