에서 원인 팬더 오브젝트와 같은 모양 : 난 그냥 값 P4를 얻을 수 및 발행 수의 수를 플롯하려고큰 날짜 값과 내가 (3백메가바이트 ~) 큰 txt 파일이 메모리
df= pd.read_csv('file.txt')
df.head()
<Base> <DTYYYYMMDD> <TIME> <p1> <p2> <p3> <p4> <q>
36 x 20010102 235700 0.5622 0.5622 0.5622 0.5622 4
37 x 20010102 235800 0.5622 0.5622 0.5622 0.5622 4
38 x 20010102 235900 0.5622 0.5622 0.5622 0.5622 4
39 x 20010103 0 0.5618 0.5618 0.5618 0.5618 4
40 x 20010103 300 0.5622 0.5622 0.5622 0.5622 4
41 x 20010103 500 0.5622 0.5622 0.5622 0.5622 4
df.shape()
(5560000, 8)
다른 해에는 매년. 이를 위해 내가 먼저 (그들은 텍스트 파일에서 정수로 읽습니다) 문자열로 DTYYYYMMDD 및 시간 필드를 변환하려고 다음과 같이 다음 날짜로 변환 : 난 그냥 날짜 부분을 얻기 위해 노력하고
이제datestr = df['<DTYYYYMMDD>'].apply(lambda x: str(x))
timestr = df['<TIME>'].apply(lambda x: str(x))
zeros = timestr.apply(lambda x: '0' * (6- len(x)))
timestr = zeros + timestr
dtstr = datestr + timestr
p4_df = df['<p4>']
dt_datetime = pd.to_datetime(dtstr, format = '%Y%m%d%H%M%S')
p4_df.index = dt_datetime
따로 따로 그룹으로 나눌 수있어 나는 다른 계산에서 필요하기 때문에 전체 datetime 인덱스도 유지해야합니다.
p4_df['Date'] = dt_datetime.apply(lambda x: x.date())
to_plot = p4_df.groupby(['Date'])['<p4>'].count()
to_plot.plot()
dt_datetime.apply
라인에 메모리 오류가 발생합니다. 나는 다음과 같이 대신 오류를 시도했다.
p4_df['Date'] = pd.to_datetime(datestr, format = '%Y%m%d')
코드를보다 효율적으로 사용하기위한 제안이 있으십니까?
감사합니다. – dayum