2017-02-06 2 views
3

이 질문과 비슷한 유형이 많이 있지만 기존 답변을 통해 내 길을 찾을 수는 없습니다. 그것은 간단한 질문이지만 여전히이 작은 문제에 붙어 있습니다. 열이 많은 데이터가 있습니다. 두 개의 기존 열을 사용하여 새 열을 만들고 싶습니다. 이런 식으로 뭔가 :팬더의 기존 열에 가입하여 새 열을 만드는 방법

Index Date   Time  Datetime 
0  26-10-2017 06:00:00 26-10-2017 06:00:00 
1  26-10-2017 06:15:00 26-10-2017 06:15:00 
2  26-10-2017 06:30:00 26-10-2017 06:30:00 

내가 바로 지금 그렇게 드릴 수 없습니다 :

Index Date   Time 
0  26-10-2017 06:00:00 
1  26-10-2017 06:15:00 
2  26-10-2017 06:30:00 

은 이제 다음과 같아야합니다 새 열이 필요합니다. 어쨌든 난 그냥 값을 방법을 얻을 수 있습니다

df5['Datetime'] = list(zip(df5.Date, df5.Time)) 

있습니까 : 나는 다음과 같은 코드를 사용하고

Index Date   Time  Datetime 
0  26-10-2017 06:00:00 ('26-10-2017', '06:00:00') 
1  26-10-2017 06:15:00 ('26-10-2017', '06:15:00') 
2  26-10-2017 06:30:00 ('26-10-2017', '06:30:00') 

: 저는 현재 두 개의 문자열 값을 갖는 튜플을 얻고 있지만이 원하지 않는 나는 튜플에 있지 않길 바래?

답변

1

가 열을 문자열 가정, 그들을 추가하고 pd.to_datetime

df.assign(DateTime=pd.to_datetime(df.Date + ' ' + df.Time)) 

    Index  Date  Time   DateTime 
0  0 26-10-2017 06:00:00 2017-10-26 06:00:00 
1  1 26-10-2017 06:15:00 2017-10-26 06:15:00 
2  2 26-10-2017 06:30:00 2017-10-26 06:30:00 
+0

예는 일을 사용! 나는 이미 다른 하나의 열 문자열을 다른 문자열로 만들어야했습니다. 고마워요! – user7400738

1

당신이 필요로하는 sumDateto_datetime 및 열 Timeto_timedelta 변환 :

df.Date = pd.to_datetime(df.Date) 
df.Time = pd.to_timedelta(df.Time) 
df['Datetime'] = df.Date + df.Time 
print (df) 
      Date  Time   Datetime 
Index           
0  2017-10-26 06:00:00 2017-10-26 06:00:00 
1  2017-10-26 06:15:00 2017-10-26 06:15:00 
2  2017-10-26 06:30:00 2017-10-26 06:30:00 

print (df.dtypes) 
Date   datetime64[ns] 
Time  timedelta64[ns] 
Datetime  datetime64[ns] 
dtype: object 
관련 문제