반응형
Pandas 및 matplotlib를 사용하여 범주 형 데이터 플로팅
범주 형 데이터가있는 데이터 프레임이 있습니다.
colour direction
1 red up
2 blue up
3 green down
4 red left
5 red right
6 yellow down
7 blue down
카테고리에 따라 파이 차트 및 히스토그램과 같은 일부 그래프를 생성하고 싶습니다. 더미 숫자 변수를 만들지 않고도 가능합니까? 같은 것
df.plot(kind='hist')
value_counts
시리즈에서 간단히 사용할 수 있습니다 .
df['colour'].value_counts().plot(kind='bar')
이렇게 :
df.groupby('colour').size().plot(kind='bar')
mosaic
통계 모델에서 유용한 플롯을 찾을 수 있습니다 . 또한 분산에 대한 통계적 강조 표시를 제공 할 수 있습니다.
from statsmodels.graphics.mosaicplot import mosaic
plt.rcParams['font.size'] = 16.0
mosaic(df, ['direction', 'colour']);
그러나 0 크기 셀에주의하십시오. 레이블에 문제를 일으킬 수 있습니다.
자세한 내용은 이 답변 을 참조하십시오.
countplot
에서 사용할 수도 있습니다 seaborn
. 이 패키지 pandas
는 높은 수준의 플로팅 인터페이스를 만들기 위해 빌드됩니다 . 좋은 스타일링과 올바른 축 레이블을 무료로 제공합니다.
import pandas as pd
import seaborn as sns
sns.set()
df = pd.DataFrame({'colour': ['red', 'blue', 'green', 'red', 'red', 'yellow', 'blue'],
'direction': ['up', 'up', 'down', 'left', 'right', 'down', 'down']})
sns.countplot(df['colour'], color='gray')
또한 약간의 트릭으로 바를 올바른 색상으로 채색하는 것을 지원합니다.
sns.countplot(df['colour'],
palette={color: color for color in df['colour'].unique()})
여러 범주 기능을 동일한 플롯에 막대 차트로 표시하려면 다음을 제안합니다.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(
{
"colour": ["red", "blue", "green", "red", "red", "yellow", "blue"],
"direction": ["up", "up", "down", "left", "right", "down", "down"],
}
)
categorical_features = ["colour", "direction"]
fig, ax = plt.subplots(1, len(categorical_features))
for i, categorical_feature in enumerate(df[categorical_features]):
df[categorical_feature].value_counts().plot("bar", ax=ax[i]).set_title(categorical_feature)
fig.show()
참고 URL : https://stackoverflow.com/questions/31029560/plotting-categorical-data-with-pandas-and-matplotlib
반응형
'Program Tip' 카테고리의 다른 글
Bitmap.Clone ()과 새 Bitmap (Bitmap)의 차이점은 무엇입니까? (0) | 2020.11.03 |
---|---|
OWIN HttpListener를 찾을 수 없습니다. (0) | 2020.11.03 |
Windows Forms DateTimePicker 컨트롤에서 날짜 값만 가져 오는 방법은 무엇입니까? (0) | 2020.11.03 |
jquery를 사용하여 모든 이벤트를 바인딩 해제하는 방법 (0) | 2020.11.03 |
tools.jar을 찾을 수 없습니다. (0) | 2020.11.03 |