2013-08-18 4 views
0

내가 팬더와 scipy를 통해 제공 전치 기능을 활용 어려움을 겪고의 변화가 :트랜스 기능 없음 오류 및 결과

나는 하나의 컬럼에서 csv 파일에 저장 오전 내 문제는 실제로 여러 행과 여러 행이 있어야합니다 (여러 행과 단일 행).

mid = pd.read_csv("Experiment12.csv",usecols=[0,1,2],skiprows=[0,1,2,3,4,5,6,7]).mean() 

가 판다에 mid.T 작업과 같은 기능을 수행합니다 - 여기

내가 ("PD"는 팬더 설정에 따라 값의 평균) 함께 일하고 무엇인가?

오류 메시지가 나타나지 않고 결과를 확인할 때 아무 것도 변경되지 않았지만 여전히 행의 모든 ​​값이있는 단일 열이 있습니다.

어떤 통찰력에도 감사드립니다.

답변

1

당신은 읽고 잘 단일 열 DataFrame를 사용하여 작성할 수 있습니다

import pandas.util.testing as tm 
from pandas import read_csv 

df = tm.makeTimeDataFrame() 
dfa = df[['A']].T 
dfa.to_csv('the_csv.csv') 
dfa_hat = read_csv('the_csv.csv', index_col=0) 
dfa_hat.T 

그러나 나는 당신의 문제가 아니다 생각한다. DataFrame.mean()으로 전화를 걸면 축을 따라 축약을 수행한다고 오해하고 있습니다 (기본값 : axis == 0). 간단한 예에서

살펴 보자 : df.mean()indexdfcolumns 것을

In [272]: df = DataFrame(randn(5, 2), columns=list('ab')) 

In [273]: df 
Out[273]: 
     a  b 
0 0.056 -0.056 
1 -0.384 1.153 
2 0.524 -1.545 
3 1.082 1.665 
4 -0.593 -0.412 

In [274]: df.mean() 
Out[274]: 
a 0.137 
b 0.161 
dtype: float64 

In [275]: type(df.mean()) 
Out[275]: pandas.core.series.Series 

알 수 있습니다. 왜냐하면 나는 줄을 가로 질러 줄었 기 때문이다. 또한 type(df.mean())Series이고 단일 축이있는 numpy 배열에 해당하는 pandas에 해당하는 벡터, 즉 벡터입니다. 이는 의도적으로 설계된 동작입니다. 은 콘솔에 인쇄 할 때을 열과 같이 보일 수 있지만 numpy에 의해 행 대 열로 처리되는 경우에 대해서는 numpy 배열과 거의 동일하게 작동합니다.

pandas 그러나 Series 개체는 사용자가 명시 적으로 행을 요청한 경우를 제외하고 항상 열과 같이 처리됩니다. 예를 들어 DataFrame 행은 Series 개체로 액세스 할 수 있습니다 (이기종 열에서는 비효율적 인 경우가 많지만). 이것은 numpy의 작동 방식입니다. 개별 행과 열은 1D 배열입니다.

귀하의 질문에 대답하기 위해 1 numpy 배열은 T이 호출 될 때 자신을 반환하므로 마찬가지로 Series 개체가 반환됩니다.