Matplotlib를 사용하여 데이터 프레임에서 한 번에 각 여러 개의 꺾은선형 차트 만들기

소개



Python의 Matplotlib에서 그래프를 만들 때 하나씩 데이터 프레임에서 값을 가져 와서 수백 개의 목록 전체 그래프를 만들려고하면 딱딱하지 않으므로 한 번에 할 수있는 방법을 시작했습니다.

방법



방법은 다음과 같습니다.
① 데이터 프레임 로드
① ‘리스트가 중복되어 있는 경우는 새로운 데이터 프레임으로서 정리해 둔다(중복 삭제)
② For 루프를 사용하여 차례로 그래프를 작성해 간다

코드



이번에는 kaggle 데이터 프레임 ( OSIC Pulmonary Fibrosis Progression )을 사용했습니다. 덧붙여서 행과 열의 수는 (1549,7)로 중복을 정리하면 176행입니다. 이번에는 176개분의 그래프를 한번에 작성합니다.

① 데이터 프레임 로드
import pandas as pd
train_df = pd.read_csv("train.csv")
train_df

① ‘리스트가 중복되어 있는 경우는 새로운 데이터 프레임으로서 정리해 둔다(중복 삭제)
new_df = train_df.groupby([train_df.Patient,train_df.Age,train_df.Sex, train_df.SmokingStatus])['Patient'].count() #重複のカウント
new_df.index = new_df.index.set_names(['id','Age','Sex','SmokingStatus'])
new_df = new_df.reset_index()
new_df.rename(columns = {'Patient': 'freq'},inplace = True) 
new_df

② For 루프를 사용하여 차례로 그래프를 작성해 간다
import matplotlib.pyplot as plt
for num in new_df['id']: #inで繰り返したい項目を選択(重複を省いたデータフレームを選択(new_df))
    train2 = train_df.loc[train_df.Patient == num] #取得したいカラムの選択
    graph = plt.plot(train2["Weeks"],train2["FVC"]) #グラフのX軸とY軸の値の取得
    plt.xlabel("Weeks") #X軸の名前
    plt.ylabel("FVC") #Y軸の名前
    plt.title("{}".format(num)) #タイトル
    plt.show()

결과



그림과 같이 176개분의 그래프가 표시되었습니다. 동영상으로 할 수 없었기 때문에 이미지를 싣고 생략하고 있습니다.


좋은 웹페이지 즐겨찾기