Существует ли более чистый способ выполнения такого рода тестов для таблицы, например, обнуления, уникальных значений и т. Д., И помещения результатов в новый фрейм данных.этот код работал для меня, но я уверен, что есть лучший способ сделать это.
Ввод:
lvl1 = ['A','A','A','A','A','B','B','B','B',np.nan ]
lvl2 = ['foo','foo','bar','bar','bar','foo','foo','foo','bar','bar']
df = pd.DataFrame({ 'L1' : lvl1, 'L2' : lvl2})
df.apply(lambda x: [ 100*(1-x.count()/len(x.index)),x.dtype,x.unique()],result_type='expand').T.rename(index=str, columns={0: "Nullity %", 1: "Type",2:"Unique Values"})
вывод
Nullity % Type Unique Values
L1 10 object [A, B, nan]
L2 0 object [foo, bar]
В будущем я хочучтобы расширить это, чтобы включить другие тесты для столбцов и спросить, как правильно сделать это в pandas
UPD: Дополнительный вопрос: Как я могу добавить счетчики каждого из уникальных значений в этом тесте?