2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

파이썬 pandas로 차트와 그래프를 그리는 방법은?

_____
Q1: 파이썬 pandas에서 차트와 그래프를 그리기 위해 기본적으로 어떤 라이브러리를 사용하나요?
A1: pandas는 내부적으로 matplotlib 라이브러리를 기반으로 차트와 그래프를 그릴 수 있습니다. 따라서 pandas를 이용한 시각화 시에는 matplotlib가 함께 설치되어 있어야 하며, 주로 `DataFrame.plot()` 또는 `Series.plot()` 메서드를 사용합니다.

---

Q2: 가장 기본적인 선 그래프(line plot)를 pandas로 그리는 방법은?
A2: DataFrame이나 Series 객체에 대해 `.plot()` 메서드를 호출하면 선 그래프로 그려집니다.
```python
import pandas as pd
import matplotlib.pyplot as plt

data = pd.Series([1, 3, 2, 4])
data.plot()
plt.show()
```

---

Q3: pandas에서 막대 그래프(bar chart)를 그리는 방법은?
A3: `plot` 메서드의 `kind='bar'` 옵션을 사용합니다.
```python
df = pd.DataFrame({'A': [3, 7, 1], 'B': [4, 5, 6]})
df.plot(kind='bar')
plt.show()
```

---

Q4: 히스토그램(histogram)을 그리려면 어떻게 하나요?
A4: `kind='hist'` 옵션을 지정하면 됩니다. 특히, 연속형 데이터의 분포 확인에 유용합니다.
```python
df = pd.DataFrame({'data': [1,2,2,3,3,3,4,4,5]})
df['data'].plot(kind='hist', bins=5)
plt.show()
```

---

Q5: 누적형 막대 그래프(stacked bar chart)를 만드는 방법?
A5: `kind='bar'`에 `stacked=True` 옵션을 추가합니다.
```python
df.plot(kind='bar', stacked=True)
plt.show()
```

---

Q6: 산점도(scatter plot)는 pandas에서 어떻게 그리나요?
A6: `DataFrame.plot.scatter()` 메서드를 사용하며, `x`와 `y` 축에 해당하는 열을 지정해야 합니다.
```python
df = pd.DataFrame({'x':[1,2,3,4], 'y':[4,3,2,1]})
df.plot.scatter(x='x', y='y')
plt.show()
```

---

Q7: 서브플롯(subplots)으로 여러 그래프를 한 번에 그리고 싶을 때는?
A7: `subplots=True` 옵션을 사용하면 각 열마다 별도의 그래프를 그립니다.
```python
df.plot(subplots=True)
plt.show()
```

---

Q8: 그래프의 제목, 축 이름 등 그래프 속성은 어떻게 설정할 수 있나요?
A8: pandas plot 메서드가 반환하는 matplotlib Axes 객체에 대해 `set_title()`, `set_xlabel()`, `set_ylabel()` 메서드를 사용하면 됩니다.
```python
ax = df.plot()
ax.set_title('그래프 제목')
ax.set_xlabel('X축 이름')
ax.set_ylabel('Y축 이름')
plt.show()
```

---

Q9: 그래프 스타일(예: 선 색, 선 종류, 마커)은 pandas plot에서 어떻게 지정하나요?
A9: `plot()` 호출 시 `color`, `linestyle`, `marker` 인자를 사용할 수 있습니다.
```python
df.plot(color='red', linestyle='--', marker='o')
plt.show()
```

---

Q10: pandas plot에서 여러 시리즈를 동시에 그리려면?
A10: DataFrame의 여러 열을 선택하거나 전체 DataFrame에 대해 `plot()`을 호출하면 각 열이 별도의 선으로 그려집니다.
```python
df = pd.DataFrame({'a':[1,2,3], 'b':[3,2,1]})
df.plot()
plt.show()
```

---

Q11: pandas로 그래프를 그린 후 저장하려면?
A11: matplotlib의 `plt.savefig()` 함수를 사용합니다.
```python
ax = df.plot()
plt.savefig('plot.png')
```

---

Q12: pandas 차트에서 범례(legend)는 자동으로 나오나요? 끄거나 켤수 있나요?
A12: 기본적으로 범례가 자동 표시됩니다. `legend=False` 옵션을 넣으면 범례가 숨겨집니다.
```python
df.plot(legend=False)
plt.show()
```

---

Q13: 시간 데이터(time series)를 시각화할 때 주의사항은?
A13: 인덱스를 datetime 타입으로 지정해야 자동으로 날짜 축이 표시됩니다.
```python
dates = pd.date_range('20230101', periods=5)
df = pd.DataFrame({'value':[1,2,3,4,5]}, index=dates)
df.plot()
plt.show()
```

---

Q14: pandas plot 함수의 다양한 그래프 종류(kind) 옵션은?
A14: 주요 kind 옵션은 다음과 같습니다.
- `'line'` : 선 그래프 (기본값)
- `'bar'` : 세로 막대 그래프
- `'barh'` : 가로 막대 그래프
- `'hist'` : 히스토그램
- `'box'` : 박스 플롯
- `'kde'` : 커널 밀도 추정 그래프
- `'density'` : kde의 별칭
- `'area'` : 영역 그래프
- `'pie'` : 원형 그래프
- `'scatter'` : 산점도 (DataFrame만 지원)
- `'hexbin'` : 헥스빈 그래프 (이산 산점도 형태)

---

Q15: pandas plot 시 matplotlib 없이 시각화 가능합니까?
A15: pandas 자체는 matplotlib를 기반으로 하므로, 내부적으로 matplotlib 설치가 필요합니다. 대체 라이브러리로 seaborn 등의 라이브러리와 함께 사용할 수도 있습니다.

---

요약:
pandas에서는 `Series.plot()` 또는 `DataFrame.plot()` 메서드로 손쉽게 다양한 차트와 그래프를 그릴 수 있으며, `kind`, `stacked`, `subplots`, `color` 등의 매개변수를 설정해 그래프 유형이나 스타일을 지정합니다. matplotlib의 기능도 함께 활용해 세부 조정과 저장이 가능합니다.
Pandas는 데이터를 조작하고 분석할 수 있는 강력한 라이브러리이며, Matplotlib와 함께 사용하여 데이터를 시각화하는 데에도 유용합니다.

아래는 Pandas를 사용하여 차트와 그래프를 그리는 기본적인 방법을 소개합니다.

기본 설치 Pandas와 Matplotlib가 설치되어 있지 않다면, 다음 명령어로 설치할 수 있습니다: ```bash pip install pandas matplotlib ``` 데이터 생성 Pandas를 사용하여 DataFrame을 생성하는 방법부터 시작하겠습니다.

```python import pandas as pd 예제 데이터 생성 data = { 'Year': [2017, 2018, 2019, 2020, 2021], 'Sales': [150, 200, 250, 300, 350] } df = pd.DataFrame(data) ``` 기본적인 선 그래프 그리기 Pandas는 DataFrame의 `plot` 메서드를 사용하여 간단하게 그래프를 그릴 수 있습니다.

```python import matplotlib.pyplot as plt 선 그래프 그리기 df.plot(x='Year', y='Sales', kind='line', marker='o') plt.title('Sales Over Years') plt.xlabel('Year') plt.ylabel('Sales') plt.grid() plt.show() ``` 막대 그래프 그리기 Pandas에서 막대 그래프를 그리는 방법도 비슷합니다.

```python 막대 그래프 그리기 df.plot(x='Year', y='Sales', kind='bar', color='skyblue') plt.title('Sales by Year') plt.xlabel('Year') plt.ylabel('Sales') plt.xticks(rotation=0) x축 눈금 회전 plt.show() ``` 히스토그램 그리기 히스토그램은 데이터의 분포를 보여주는 좋은 방법입니다.

```python 예제 데이터 생성 data = { 'Score': [55, 78, 67, 89, 90, 45, 70, 80, 95, 85, 95, 50, 60, 70, 75, 80] } scores_df = pd.DataFrame(data) 히스토그램 그리기 scores_df['Score'].plot(kind='hist', bins=10, color='orange', edgecolor='black') plt.title('Score Distribution') plt.xlabel('Scores') plt.ylabel('Frequency') plt.show() ``` 여러 개의 그래프 그리기 여러 열을 한 그래프에 그릴 수도 있습니다.

```python 추가 데이터 생성 data = { 'Year': [2017, 2018, 2019, 2020, 2021], 'Sales': [150, 200, 250, 300, 350], 'Expenses': [100, 150, 170, 200, 220] } df = pd.DataFrame(data) 여러 선 그래프 그리기 df.plot(x='Year', y=['Sales', 'Expenses'], kind='line', marker='o') plt.title('Sales and Expenses Over Years') plt.xlabel('Year') plt.ylabel('Amount') plt.grid() plt.legend(title='Legend') plt.show() ``` 추가 옵션 및 스타일링 Matplotlib을 사용하여 그래프의 스타일이나 추가 세부 사항을 조정할 수 있습니다.

예를 들어, `plt.grid()`를 사용하여 그리드 추가, `plt.title()`으로 제목 추가, `plt.xlabel()` 및 `plt.ylabel()`로 축 레이블을 추가할 수 있습니다.

이처럼 Pandas와 Matplotlib을 조합하면 데이터 시각화를 쉽게 수행할 수 있으며, 원하는 데이터를 다양한 형태로 시각화할 수 있습니다.

작성자: 최다연 [비회원] | 작성일자: 1년 전 2025-02-10 05:31:02
조회수: 226 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.