2016-08-27 3 views
0

대용량 데이터 세트가있는 CSV 파일이 있다고 가정 해 보겠습니다. 이 CSV 파일은 DB에서 생성되었으므로 본질적으로 테이블입니다. 이 CSV 파일을 반복하고 평균 또는 합계를 계산하거나 파이썬을 사용하여 일반 계산을 수행하는 가장 좋은 방법은 무엇입니까?CSV에서 큰 데이터 세트를 계산

예 : csv 파일에 사용자 ID와 금액 및 날짜가 있습니다. 이제 모든 사용자의 월별 지출을 계산해야합니다. 사용자 ID는 기본 키가 아니므로 구입 한 것일 수도 있습니다.

팬더 또는 다른 방법을 사용하여 데이터를로드하는 방법은 무엇입니까?

+0

I가 선호 db에 연결하여 쿼리하고 csv 파일을 읽으십시오. https://docs.python.org/2/library/csv.html –

답변

1

당신은 확실히 나는 당신의 문제 설명에서 이해하는 것과, 팬더를 시도 할 수는 CSV 파일은 다음과 같이 포맷 : 월별 총 spendings을 계산하기 시작하는

user_id amount date 
1241 1000 01/Aug/2016 
.... ... .... 

이것은 충분히 좋은 해결책이 될한다 user_id 당

df = pd.read_csv('your_csv_filename_path.csv') 

df.loc[:,'date'] = pd.to_datetime(df.loc[:,'date']) 
df.loc[:,'month'] = pd.PeriodIndex(df['date'],freq='M') 
monthly_spendings = df.groupby(['month','user_id'])['amount'].sum() 
+0

그래, 맞습니다. 감사. – Jason

0

csv 모듈을 사용하면 CSV 파일을 쉽게 읽을 수 있습니다. 예를 들어, CSV 파일의 첫 번째 줄은 열 이름을 포함하고, 그 열 이름 중 하나가 "USER_ID"인 경우, 다음 줄에는 각 줄에서 USER_ID 필드를 표시 할 경우 :

import csv 
for rec in csv.DictReader(open("somefile.csv", "rb")): 
    print("User ID = {}".format(rec["user_id"])) 
관련 문제