Pandas를 사용하여 날짜가 문자열로 표시된 열을 Unix 타임 스탬프로 안전하게 변환하는 방법은 무엇입니까?

FanderProd 음악

다음 데이터 프레임이 있습니다.

       dteday

0      2011-01-01
1      2011-01-02
2      2011-01-03
3      2011-01-04
4      2011-01-05
5      2011-01-06
6      2011-01-07
7      2011-01-08
8      2011-01-09
9      2011-01-10
10     2011-01-11
11     2011-01-12
12     2011-01-13
13     2011-01-14
14     2011-01-15
15     2011-01-16
16     2011-01-17

그리고이 열을이 날짜의 Unix 타임 스탬프 열로 변환하려고합니다.

나는 이것을 시도했지만 다음 오류가 발생했습니다.

df['tmstamp'] = df.dteday.astype(np.int64)

오류:ValueError: invalid literal for int() with base 10: '2011-01-01'

어디에서도 같은 질문을 찾을 수 없습니다. 뭐가 문제 야? 감사.

리틴 찰루 무리

현재 코드가 문자열 2011-01-01을 정수 로 직접 변환하려는 것 같습니다 np.int64. 구문 분석 / 변환이 실패하여 오류가 표시됩니다.

pd.to_datetime()메서드를 사용 하여 열의 문자열 값을 먼저 datetime 개체로 변환 할 수 있습니다 . ( 문서 ). 그런 다음 유형을 np.int64.

다음 데이터 프레임이 주어지면 :

        dates
0  2011-01-01
1  2011-01-02
2  2011-01-03
3  2011-01-04
4  2011-01-05

이 시도:

df['timestamp'] = pd.to_datetime(df['dates']).astype(np.int64)

출력 :

        dates            timestamp
0  2011-01-01  1293840000000000000
1  2011-01-02  1293926400000000000
2  2011-01-03  1294012800000000000
3  2011-01-04  1294099200000000000
4  2011-01-05  1294185600000000000

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관