Pandy: jak połączyć kolumny daty i godziny


Możesz użyć następującej składni, aby połączyć kolumny daty i godziny ramki DataFrame pandy w jedną kolumnę:

 df[' datetime '] = pd. to_datetime (df[' date '] + ' ' + df[' time '])

Należy zauważyć, że w tej składni przyjęto założenie, że kolumny daty i godziny są bieżącymi ciągami znaków.

Jeśli obie kolumny nie są jeszcze ciągami znaków, możesz użyć funkcji astype(str) , aby przekonwertować je na ciągi znaków:

 df[' datetime '] = pd. to_datetime (df[' date ']. astype ( str ) + ' ' + df[' time ']. astype ( str ))

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Połącz kolumny daty i godziny w Pandach

Załóżmy, że mamy następującą ramkę danych pandy zawierającą kolumnę daty i kolumnę czasu:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': ['10-1-2023', '10-4-2023', '10-6-2023', '10-6-2023',
                            '10-14-2023', '10-15-2023', '10-29-2023'],
                   ' time ': ['4:15:00', '7:16:04', '9:25:00', '10:13:45',
                            '15:30:00', '18:15:00', '23:15:00']})

#view DataFrame
print (df)

         date time
0 10-1-2023 4:15:00
1 10-4-2023 7:16:04
2 10-6-2023 9:25:00
3 10-6-2023 10:13:45
4 10-14-2023 15:30:00
5 10-15-2023 18:15:00
6 10-29-2023 23:15:00

Załóżmy, że chcemy utworzyć nową kolumnę o nazwie datetime , która łączy wartości z kolumn daty i godziny .

W tym celu możemy użyć następującej składni:

 #create new datetime column
df[' datetime '] = pd. to_datetime (df[' date '] + ' ' + df[' time '])

#view updated DataFrame
print (df)

         datetime datetime
0 10-1-2023 4:15:00 2023-10-01 04:15:00
1 10-4-2023 7:16:04 2023-10-04 07:16:04
2 10-6-2023 9:25:00 2023-10-06 09:25:00
3 10-6-2023 10:13:45 2023-10-06 10:13:45
4 10-14-2023 15:30:00 2023-10-14 15:30:00

Zauważ, że nowa kolumna datetime pomyślnie połączyła wartości z kolumn daty i godziny w jedną kolumnę.

Możemy również użyć funkcji dtypes , aby sprawdzić typy danych każdej kolumny w ramce DataFrame:

 #view data type of each column
df. dtypes

date object
time object
datetime datetime64[ns]
dtype:object

Z wyniku widzimy, że kolumny daty i godziny są obiektami (tj. ciągami znaków), a nowa kolumna daty i godziny jest datą i godziną.

Uwaga : pełną dokumentację funkcji pandas to_datetime() można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:

Jak utworzyć zakres dat w Pandach
Jak przekonwertować znacznik czasu na datę/godzinę w Pandach
Jak obliczyć różnicę między dwiema datami w pandach

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *