2017-02-04 1 views
-1

모든 행의 평균을 계산할 csv 데이터 세트가 있습니다. 평균은 14 열에서 데이터 시작부터 계산됩니다. 이것은 지금까지 수행 한 작업이지만 여전히 평균값을 얻지는 못합니다. . 누군가 이걸로 나를 도울 수 있습니까?팬더 : 평균 계산

나는 또한이 축 문제와 혼동을 느낍니다.

file = ('dataset.csv') 

df = pd.read_csv(file) 


d_col = df[df.columns[14:]] 

mean_value = d_col['mean'] = d_col.mean(axis=1, skipna=True, numeric_only=True) 

print mean_value 

d_col.to_csv('out.csv') 

답변

1

매우 이상한 색인 구문입니다. 명확한 방법이 있어야한다 :

d_col = df.iloc[:, 14:] 

축 = 당신이 제대로 일을 할 것 행에 의해 열 및 축 = 1로 평균을 복용 0을 의미합니다. 나는 당신이 평균을 얻지 않음으로써 정확히 무엇을 의미하는지 확신하지 못합니다. d_col에는 원본 데이터와 결과가 포함 된 "평균"이라는 새 열이 있어야합니다.

1

예제 데이터를 제공하지 않으므로 다음 샘플 코드를 참조하십시오. 첫 번째 열은 무시해야하는 일부 텍스트 열이며 DataFrame df의 다른 열은 평균값을 계산하는 데 사용해야하는 열입니다.

# prepare some dataset 
letters = 'abcdefghijklmnopqrstuvwxyz' 
rows = 10 
col1 = np.array(list(letters))[np.random.permutation(len(letters))[:rows]] 
df = pd.concat([pd.DataFrame(col1), pd.DataFrame(np.random.randn(rows, 10))], axis=1) 

result = df.iloc[:, 1:].mean(axis=1) 

결과는 다음과 같습니다

0 0.693024 
1 -0.356701 
2 0.082385 
3 -0.115622 
4 -0.060414 
5 0.104119 
6 -0.435787 
7 0.023327 
8 -0.144272 
9 0.363254 
dtype: float64 

/편집 : 후자의 경우에 문제를 만들면서 변경 대답은 위의 두 열이 같은 이름이 df.iloc 대신 df[df.columns[...] 사용할 수 있습니다. peidaqi의 답을 올바른 것으로 표시하십시오.

0

여기에 문제가 있었지만 mean_value 대신 dscol을 출력 csv 파일로 저장했습니다. 그것은 바보 같지만 그것이 당신이 픽업하는 것을 배우는 방법이라고 생각합니다. 당신의 설명에 대해 @peidaqi와 다른 분들에게 감사드립니다.