UFO ET IT

멀티 인덱스를 사용한 판다 플로팅

ufoet 2021. 1. 7. 08:21
반응형

멀티 인덱스를 사용한 판다 플로팅


을 수행 한 후 groupby.sum()A의 DataFrame내 의도 한 플롯을 만들려고 몇 가지 문제가 있어요.

다중 인덱스가있는 그룹화 된 데이터 프레임

x 축이 이고 막대가 and 인 kind='bar'Code대한 서브 플롯 ( )을 어떻게 만들 수 있습니까?MonthColAColB


나는 unstack (level) 메서드가 완벽하게 작동한다는 것을 알았습니다. 이것은 얼마나 많은 코드가 있는지에 대한 사전 지식이 필요하지 않다는 추가적인 이점이 있습니다.

df.unstack(level=0).plot(kind='bar', subplots=True)

다음 DataFrame 사용 ...

DataFrame

# using pandas version 0.14.1
from pandas import DataFrame
import pandas as pd
import matplotlib.pyplot as plt

data = {'ColB': {('A', 4): 3.0,
('C', 2): 0.0,
('B', 4): 51.0,
('B', 1): 0.0,
('C', 3): 0.0,
('B', 2): 7.0,
('Code', 'Month'): '',
('A', 3): 5.0,
('C', 1): 0.0,
('C', 4): 0.0,
('B', 3): 12.0},
'ColA': {('A', 4): 66.0,
('C', 2): 5.0,
('B', 4): 125.0,
('B', 1): 5.0,
('C', 3): 41.0,
('B', 2): 52.0,
('Code', 'Month'): '',
('A', 3): 22.0,
('C', 1): 14.0,
('C', 4): 51.0,
('B', 3): 122.0}}

df = DataFrame(data)

... 다음을 플롯 할 수 있습니다 (단면 사용).

f, a = plt.subplots(3,1)
df.xs('A').plot(kind='bar',ax=a[0])
df.xs('B').plot(kind='bar',ax=a[1])
df.xs('C').plot(kind='bar',ax=a[2])

여기에 이미지 설명 입력

하나는 A, 하나는 B, 하나는 C, x 축 : '월', 막대는 ColA 및 ColB입니다. 아마도 이것은 당신이 찾고있는 것입니다.

참조 URL : https://stackoverflow.com/questions/25386870/pandas-plotting-with-multi-index

반응형