pandas 데이터 처리 그림 의 실현

3764 단어 pandas제도 하 다
Pandas 는 Python 에서 매우 자주 사용 하 는 데이터 처리 공구. 으로 사용 하기에 매우 편리 하 다.이것 은 NumPy 배열 구조 위 에 세 워 져 있 기 때문에 NumPy 나 Pandas 자체 의 확장 모듈 을 통 해 많은 작업 을 작 성 했 습 니 다.이 모듈 들 은 Cython 으로 작성 하여 C 로 컴 파일 되 었 고 C 에서 실행 되 었 기 때문에 처리 속도 도 보장 합 니 다.
오늘 우 리 는 그것 의 강 한 점 을 체험 해 보 자.
1.데이터 생 성
pandas 를 사용 하면 데이터 생 성 을 편리 하 게 할 수 있 습 니 다.5 열 1000 줄 의 pandas DataFrame 을 만 듭 니 다.

mu1, sigma1 = 0, 0.1
mu2, sigma2 = 0.2, 0.2
n = 1000df = pd.DataFrame(
  {
    "a1": pd.np.random.normal(mu1, sigma1, n),
    "a2": pd.np.random.normal(mu2, sigma2, n),
    "a3": pd.np.random.randint(0, 5, n),
    "y1": pd.np.logspace(0, 1, num=n),
    "y2": pd.np.random.randint(0, 2, n),
  }
)
  • a1 과 a2:정상(고 스)분포 에서 추출 한 랜 덤 샘플.
  • a3:0 에서 4 까지 의 무 작위 정수.
  • y1:0 에서 1 까지 의 대수 눈금 이 고 르 게 분포 한다.
  • y2:0 에서 1 의 무 작위 정수.
  • 다음 과 같은 데 이 터 를 생 성 합 니 다:

    2.그림 그리 기
    Pandas 제도 하 다 함 수 는 matplotlib 의 좌표 축(Axes)을 되 돌려 줍 니 다.따라서 우 리 는 위 에서 우리 가 필요 로 하 는 내용 을 사용자 정의 로 그 릴 수 있 습 니 다.예 를 들 어 수직선 과 평행선 을 그린다.이것 은 우리 에 게 매우 유리 할 것 이다.
    1.평균 선 그리 기
    2.포인트 표시
    
    import matplotlib.pyplot as plt
    ax = df.y1.plot()
    ax.axhline(6, color="red", linestyle="--")
    ax.axvline(775, color="red", linestyle="--")
    plt.show()

    그림 에 몇 개의 표를 표시 할 지 사용자 정의 할 수 있 습 니 다.
    
    fig, ax = plt.subplots(2, 2, figsize=(14,7))
    df.plot(x="index", y="y1", ax=ax[0, 0])
    df.plot.scatter(x="index", y="y2", ax=ax[0, 1])
    df.plot.scatter(x="index", y="a3", ax=ax[1, 0])
    df.plot(x="index", y="a1", ax=ax[1, 1])
    plt.show()

    3.직사 도 그리 기
    Pandas 는 우리 로 하여 금 매우 간단 한 방식 으로 두 도형 의 형상 대 비 를 얻 게 할 수 있다.
    
    df[["a1", "a2"]].plot(bins=30, kind="hist")
    plt.show()
    

    다 중 그림 그리 기 허용:
    
    df[["a1", "a2"]].plot(bins=30, kind="hist", subplots=True)
    plt.show()
    

    물론 접 는 선 그림 을 만 드 는 것 도 그림 아래 에 있 지 않다.
    
    df[['a1', 'a2']].plot(by=df.y2, subplots=True)
    plt.show()

    4.선형 적합
    Pandas 는 다음 그림 과 가장 가 까 운 직선 을 pandas 로 찾 을 수 있 습 니 다.

    최소 이승 법 계산 과 이 직선 최 단 거리:
    
    df['ones'] = pd.np.ones(len(df))
    m, c = pd.np.linalg.lstsq(df[['index', 'ones']], df['y1'], rcond=None)[0]
    
    최소 2 곱 하기 결과 에 따라 y 와 적합 한 직선 을 그립 니 다:
    
    df['y'] = df['index'].apply(lambda x: x * m + c)
    df[['y', 'y1']].plot()
    plt.show()
    

    pandas 데이터 처리 그림 의 실현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 pandas 그림 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기