Необходимо рассчитывать типы данных в кадре данных - PullRequest
1 голос
/ 05 апреля 2020

Мне нужно создать график подсчета морских пород для разных типов данных во фрейме данных. Например, в приведенном ниже примере я должен получить столбец для float64 со счетом 3 и int64 со счетом 1.
Я нашел, что кто-то сделал это, передав df.dtypes в качестве параметра x или y, но я продолжаю получать ошибка. Ошибка типа: тип данных "" не понял. Кто-нибудь знает, как это сделать? Спасибо за вашу помощь.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"A":[12, 4, 5, None, 1],  
                   "B":[7, 2, 54, 3, None],  
                   "C":[20, 16, 11, 3, 8],  
                   "D":[14, 3, None, 2, 6]})  

print(df.dtypes)
sns.countplot(y=df.dtypes, data=df)
plt.show()

1 Ответ

1 голос
/ 05 апреля 2020

Вам нужно только передать серию dtypes, но не забудьте преобразовать объекты типа в строку. Matplotlib не может отобразить метки, которые вы передали как numpy.dtype s. Попробуйте это:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"A":[12, 4, 5, None, 1],  
                   "B":[7, 2, 54, 3, None],  
                   "C":[20, 16, 11, 3, 8],  
                   "D":[14, 3, None, 2, 6]})  

sns.countplot(df.dtypes.map(str))
plt.show()

Вывод:

enter image description here

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