그룹화된 데이터를 사용하여 Pandas에서 누적 막대 차트를 만드는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-21 19:37:03
원래의
227명이 탐색했습니다.

How to Create a Stacked Bar Chart in Pandas with Grouped Data?

Pandas를 사용하여 누적 막대 차트 그리기

질문:

어떻게 만들 수 있나요? 제공된 이미지와 유사한 팬더가 포함된 누적 막대 차트? 현재 데이터 프레임은 "사이트 이름" 및 "악용/NFF" 개수에 대한 별도의 열로 구성되어 있으며 데이터를 정렬하거나 누적 막대 차트를 생성할 수 없습니다.

해결책:

1. 데이터 준비:

"사이트 이름"과 "악용/NFF"로 데이터를 그룹화하고 각 조합의 발생 횟수를 계산하여 새 데이터 프레임을 만듭니다.

2 . 데이터 스택:

.unstack() 메서드를 사용하여 "사이트 이름"을 인덱스로, "Abuse/NFF"를 열로 사용하여 스택 데이터 프레임을 생성합니다.

3. 누락된 값 채우기:

.fillna(0) 메서드를 사용하여 누락된 값을 0으로 채워 처리합니다.

4. 막대 차트 그리기:

종류 매개변수를 'bar'로 설정하고 누적 매개변수를 True로 설정하여 누적 막대 차트를 생성하려면 .plot() 메서드를 사용하세요.

Python 코드:

<code class="python">import pandas as pd
import matplotlib.pyplot as plt

# Create a dataframe from the CSV file
df = pd.read_csv("data.csv")

# Group by "Site Name" and "Abuse/NFF" and count occurrences
df2 = df.groupby(['Site Name', 'Abuse/NFF'])['Site Name'].count().unstack('Abuse/NFF').fillna(0)

# Plot the stacked bar chart
df2[['abuse','nff']].plot(kind='bar', stacked=True)
plt.show()</code>
로그인 후 복사

출력:

결과 플롯은 원래 질문에 제공된 이미지와 유사하며 누적 개수를 표시합니다. 각 "사이트 이름"에 "abuse" 및 "NFF"가 있습니다.

위 내용은 그룹화된 데이터를 사용하여 Pandas에서 누적 막대 차트를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿