다음 데이터 프레임이 있습니다.
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] 삭제
몇 마디 만하겠습니다