죄송합니다. 여기에 오기 위해 목표를 달성하는 방법을 Google에 표시 할 수 없습니다.groupby 팬더를 여러 개 사용하여 많은 플롯을 만드는 방법은 무엇입니까?
mode X Y
0 1 3 10
1 1 4 11
2 1 3 12
3 1 4 13
4 2 3 14
5 2 4 15
6 2 3 16
7 2 4 17
나는 샌드 박스 코드 다음 만든 :
은 데이터 테이블 일부 샌드 박스를 참조하십시오. 그래서 여기서는 두 개의 다른 모드 ('모드 1'과 '모드 2')에 해당하는 두 줄의 그림이 필요합니다. X 축은 3,4가되어야합니다. 그리고 여기에 모드 2에 대해 평균이 Y이고 유사어가(3,15)--(4,16)
인 두 라인
(3,(10+12)/2)--(4,(11+13)/2)
을 얻고 싶습니다.
그러나이 코드는 작동하지 않습니다.
#!/usr/bin/python3
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame([[1,1,1,1,2,2,2,2],[3,4,3,4,3,4,3,4],list(range(10,18))]).T
df.columns = ['mode','X','Y']
mode = df.groupby(['mode'])['mode'].mean()
Ox = df.groupby(['X'])['X'].mean()
Oy = df.groupby(['mode','X'])['Y'].mean()
for x in mode:
plt.plot(Ox, Oy[Oy['mode'== x]] , label = 'test' + x)
plt.savefig('testpandas.pdf')
죄송 플롯을 생성하지만 난 내 자신의 솔루션을 발견했습니다. 감사! –