2017-03-07 3 views
1

저는 2135 행과 518 열로 구성된 팬더가있는 DataFrame을 가져 왔습니다. 이제 첫 번째 60 개 행의 평균을 취하여 다른 행에서이 값을 뺍니다. 지금까지 나는 이것을 다음과 같이 사용했다.데이터 프레임의 다른 행에서 60 행의 평균값을 뺍니다.

mean = df[1:60].mean() 

첫 번째 60 개 행의 평균을 취한다. 그냥 사용하여 뺍니다 :

df[61:2135] - mean 

하지만 작동하지 않습니다. 나는 두 가지 더 많은 일을 시도했지만 그것을 이해하지 못하는 것 같습니다. 평균은 모양 (517)을 가지지 만 df [61 : 2135]는 모양 (2072,518)을 갖기 때문에 데이터 프레임의 모양 일 수 있습니다.

+0

후 원시 데이터와 C : 당신이 header=Noneread_csv에 전달해야하므로 유효한 열 행처럼 보이지 않는 귀하의 문제를 재현하기 위해 실행할 수있는 ode, 내 대답은 이것이 – EdChum

+0

여기 내가 사용하는 파일에 대한 링크가 작동했음을 보여 주었다 : http://www.filedropper.com/csvdata –

+0

당신의 코드는 어디에 있습니까? – EdChum

답변

0
당신이 떠있는이를 교체하고 다시 캐스팅 할 필요가 ...;;; 귀하의 데이터, 마지막 열 세미 콜론을 후행 한 잘못된 보이는

: 당신은 그냥

또한 두 번째 행을 작동 시도 후 어떤

In [44]: 
df[517] = df[517].str.replace(';;;','').astype(float) 
df.info() 

<class 'pandas.core.frame.DataFrame'> 
RangeIndex: 2134 entries, 0 to 2133 
Columns: 518 entries, 0 to 517 
dtypes: float64(518) 
memory usage: 8.4 MB 

df = pd.read_csv ("csvdata.csv", sep=",",skiprows=1, header=None) 
+1

왼쪽 상단에 빈 눈금 표시됩니다 질문을 해결할 경우 내가 쓴 것을 시도 할 때 오류가 나타납니다. ValueError : 크기 1의 배열 만 파이썬 스칼라로 변환 할 수 있습니다 –

관련 문제