2013-07-30 7 views
3

팬더 데이터 프레임에서 계층 적 인덱스 및 다중 인덱스에 대해 읽었지만 이러한 데이터는 모두 정렬 된 레이블에 대한 것 같습니다. 예를 들어, 내 데이터는 다음과 같습니다팬 데이터 데이터 프레임의 열 레이블을 기준으로 데이터 그룹화

enter image description here

그리고 데이터를 함께 열 레이블의 예에 따라 그룹에 수 있어야합니다. 평균에 의해 행 3에 'd'가있는 모든 열을 모으십시오.

이 작업을 수행 할 수 있도록 데이터 프레임에 Excel (또는 절대적으로 필요한 경우 CSV) 데이터를 얻는 가장 좋은 방법은 무엇이며 어떻게 수행 할 것입니까? 로드 될 때

data = pd.read_csv('Dataset.csv', index_col=0, header=[0,1,2,3], parse_dates=True) 

날이 제공 :

어떤 조언이나 참조는

편집

나는 다음과 같은 명령을 사용하여 CSV에서 데이터를로드 시도를 감상 할 수있다

<class 'pandas.core.frame.DataFrame'> 
DatetimeIndex: 18 entries, 2013-05-27 10:31:00 to 2013-07-24 11:31:00 
Data columns (total 40 columns): 
(1, mix, d, n)  18 non-null values 
(2, aq, s, n)  18 non-null values 
(3, gr, s, n)  18 non-null values 
(4, mix, d, n)  18 non-null values 
(5, aq, d, n)  17 non-null values 

난 거기에서 어디로 가야할 지 모르겠습니다.

+0

당신은에서 데이터를 읽고? Excel 파일 또는 CSV? 그렇다면 파이썬의 CSV 모듈을 살펴보십시오. – Oz123

+0

필자는 Excel에서 읽으려는 것이 좋지만 CSV로 변환 한 다음 그룹화 할 수있는 행으로 헤더를 설정하고 어디에서부터 나가야할지 모릅니다. 편집을 추가하고 내가 의미하는 바를 보여 드리겠습니다. – pbreach

+0

10 분 같이'data [ '3']'시도해 보셨습니까? 자습서에 표시됩니까? – Oz123

답변

4

당신은 열 현명한 (axis=1) groupby를 사용하여 수행 할 수있는 mean :

In [11]: df = pd.DataFrame(np.random.randn(4, 3), columns=[[1, 2, 3], ['d', 's', 'd']]) 

In [12]: df.columns.names = ['PLOT', 'DEPTH'] 

In [13]: df 
Out[13]: 
PLOT   1   2   3 
DEPTH   d   s   d 
0  -0.557490 -1.231495 -0.333703 
1  0.513394 1.046577 0.596306 
2  -0.404606 -1.615080 -0.694562 
3  -0.078497 -0.683405 0.056857 

In [14]: df.groupby(level='DEPTH', axis=1).mean() 
Out[14]: 
DEPTH   d   s 
0  -0.445596 -1.231495 
1  0.554850 1.046577 
2  -0.549584 -1.615080 
3  -0.010820 -0.683405 
+0

이것은 정확히 내가하고 싶었던 것이다! 나는 이전에 이것에 대한 약간의 변형을했지만 올바른 방향으로 나아 가지 않았다. 감사! – pbreach