Dalam postingan ini, Anda akan mempelajari cara mengonversi string Python menjadi tanggal, menggunakan metode datetime
modul .strptime[]
. Khususnya, Anda akan mempelajari cara mengonversi string menjadi tanggal dan cara mengonversi kolom Pandas menjadi waktu dengan pendekatan ini
Bekerja dengan tanggal, waktu, dan zona waktu merupakan masalah yang sering dihadapi dalam pengembangan perangkat lunak. Tanggal dan waktu yang Anda terima kembali mungkin tidak selalu dalam format datetime. Kemudian menjadi penting untuk mengubahnya
Jawaban Cepat. Gunakan fungsi strptime
Datetime
from datetime import datetime
date_string = '2021-12-31'
datetime = datetime.strptime[date_string, '%Y-%m-%d']
print[datetime]
# Returns: 2021-12-31 00:00:00
Mari selami
Daftar isi
Python Datetime Strptime. Apa itu?
Modul datetime
Python disertakan dalam instalasi Python Anda, artinya Anda tidak perlu khawatir untuk menginstalnya
Modul datetime
dilengkapi dengan tiga jenis objek utama.
datetime.strptime[date_string=, format=]
2, datetime.strptime[date_string=, format=]
3, dan datetime
. Mereka dapat dianggap cukup jelas, tetapi untuk berjaga-jaga. datetime.strptime[date_string=, format=]
_2 berhubungan dengan tanggal, datetime.strptime[date_string=, format=]
3 berhubungan dengan waktu, dan datetime
berhubungan dengan tanggal dan waktuSalah satu metode yang sangat membantu yang dapat kita gunakan dalam modul datetime
adalah metode strptime
yang memungkinkan kita mengonversi
from datetime import datetime
date_string = '2021-12-31 15:37'
datetime = datetime.strptime[date_string, '%Y-%m-%d %H:%M']
print[datetime]
# Returns: 2021-12-31 15:37:00
0 menjadi datetime.strptime[date_string=, format=]
2 [atau dalam kasus kita, a datetime
]Metodenya terlihat seperti ini
datetime.strptime[date_string=, format=]
_
_3 adalah string yang menyimpan apa yang ingin kita konversifrom datetime import datetime date_string = '2021-12-31 15:37' datetime = datetime.strptime[date_string, '%Y-%m-%d %H:%M'] print[datetime] # Returns: 2021-12-31 15:37:00
_4 berisi format string. Pelajari lebih lanjut tentang ini di bagianfrom datetime import datetime date_string = '2021-12-31 15:37' datetime = datetime.strptime[date_string, '%Y-%m-%d %H:%M'] print[datetime] # Returns: 2021-12-31 15:37:00
Bagaimana Anda mengonversi String Python ke Tanggal?
Untuk mengonversi string Python menjadi tanggal [atau datetime], kita dapat menggunakan metode datetime .strptime[]
Mari kita lihat bagaimana kita bisa melakukan ini
- Kami mengimpor objek
datetime
dari moduldatetime
- Kami meneruskan string ke dalam metode
.strptime[]
, serta formatnya - Kami menetapkan ini ke variabel baru dan mencetaknya
from datetime import datetime
date_string = '2021-12-31 15:37'
datetime = datetime.strptime[date_string, '%Y-%m-%d %H:%M']
print[datetime]
# Returns: 2021-12-31 15:37:00
Sekilas, kode format ini mungkin terlihat sedikit lucu. Anda akan mempelajari semua tentang beberapa contoh berbeda di bagian selanjutnya
Apa itu Kode Format Datetime?
Modul datetime
menggunakan kode format tertentu untuk mengonversi string menjadi waktu tanggal atau waktu tanggal menjadi string. Dalam daftar di bawah ini, Anda akan mempelajari sejumlah kode format terpenting yang akan Anda temui
_0. Hari kerja dalam nama singkatan lokal [mis. g. , Sen]import pandas as pd df = pd.DataFrame.from_dict[ { 'Name': ['Jane', 'Melissa', 'John', 'Matt'], 'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'], 'Gender': ['F', 'F', 'M', 'M'] } ] print[df]
_1. Hari kerja dengan nama lengkap lokal [mis. g. , Senin]import pandas as pd df = pd.DataFrame.from_dict[ { 'Name': ['Jane', 'Melissa', 'John', 'Matt'], 'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'], 'Gender': ['F', 'F', 'M', 'M'] } ] print[df]
_2. bulan sebagai nama singkatan lokal [mis. g. , Des]import pandas as pd df = pd.DataFrame.from_dict[ { 'Name': ['Jane', 'Melissa', 'John', 'Matt'], 'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'], 'Gender': ['F', 'F', 'M', 'M'] } ] print[df]
_3. bulan sebagai nama lengkap lokal [mis. g. , Desember]import pandas as pd df = pd.DataFrame.from_dict[ { 'Name': ['Jane', 'Melissa', 'John', 'Matt'], 'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'], 'Gender': ['F', 'F', 'M', 'M'] } ] print[df]
_4. bulan sebagai angka desimal tanpa bantalan [mis. g. , 01]import pandas as pd df = pd.DataFrame.from_dict[ { 'Name': ['Jane', 'Melissa', 'John', 'Matt'], 'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'], 'Gender': ['F', 'F', 'M', 'M'] } ] print[df]
_5. hari sebagai angka desimal tanpa bantalan [mis. g. , 09]import pandas as pd df = pd.DataFrame.from_dict[ { 'Name': ['Jane', 'Melissa', 'John', 'Matt'], 'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'], 'Gender': ['F', 'F', 'M', 'M'] } ] print[df]
_6Y. tahun dengan abad [mis. g. , 2021]import pandas as pd df = pd.DataFrame.from_dict[ { 'Name': ['Jane', 'Melissa', 'John', 'Matt'], 'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'], 'Gender': ['F', 'F', 'M', 'M'] } ] print[df]
_6y. tahun tanpa abad [mis. g. , 21]import pandas as pd df = pd.DataFrame.from_dict[ { 'Name': ['Jane', 'Melissa', 'John', 'Matt'], 'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'], 'Gender': ['F', 'F', 'M', 'M'] } ] print[df]
Misalnya, jika Anda diberi string yang terlihat seperti ini.
import pandas as pd
df = pd.DataFrame.from_dict[
{
'Name': ['Jane', 'Melissa', 'John', 'Matt'],
'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'],
'Gender': ['F', 'F', 'M', 'M']
}
]
print[df]
_8, Anda akan menulis import pandas as pd
df = pd.DataFrame.from_dict[
{
'Name': ['Jane', 'Melissa', 'John', 'Matt'],
'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'],
'Gender': ['F', 'F', 'M', 'M']
}
]
print[df]
9Hal penting yang perlu diketahui di sini adalah bahwa karakter seperti koma atau titik dua juga perlu disertakan. Ini mungkin terasa agak tidak wajar tetapi pikirkan kode format sebagai pengganti
Untuk melihat kode format lainnya, lihat
Konversikan kolom Pandas ke datetime dengan strptime
Pandas memiliki alat bawaan yang sangat membantu yang disebut
Name Hire Date Gender
0 Jane 2021-03-13 F
1 Melissa 2019-01-01 F
2 John 2018-04-12 M
3 Matt 2016-12-12 M
0 untuk mengonversi kolom menjadi datetime. Anda dapat mempelajarinya secara detail di posting ini di siniMari muat kerangka data ini dan lihat tampilannya
import pandas as pd
df = pd.DataFrame.from_dict[
{
'Name': ['Jane', 'Melissa', 'John', 'Matt'],
'Hire Date': ['2021-03-13', '2019-01-01', '2018-04-12', '2016-12-12'],
'Gender': ['F', 'F', 'M', 'M']
}
]
print[df]
Ini kembali
Name Hire Date Gender
0 Jane 2021-03-13 F
1 Melissa 2019-01-01 F
2 John 2018-04-12 M
3 Matt 2016-12-12 M
Sekarang, mari gunakan metode untuk mengonversi kolom
Name Hire Date Gender
0 Jane 2021-03-13 F
1 Melissa 2019-01-01 F
2 John 2018-04-12 M
3 Matt 2016-12-12 M
1 menjadi datetimedf['Hire Date'] = pd.to_datetime[df['Hire Date']]
Namun, jika Anda ingin menggunakan metode datetime
Name Hire Date Gender
0 Jane 2021-03-13 F
1 Melissa 2019-01-01 F
2 John 2018-04-12 M
3 Matt 2016-12-12 M
2, Anda dapat menerapkan fungsi tersebut ke seluruh kolom. Perlu diingat, ini tidak efisien dan metode Pandas Name Hire Date Gender
0 Jane 2021-03-13 F
1 Melissa 2019-01-01 F
2 John 2018-04-12 M
3 Matt 2016-12-12 M
0 jauh lebih efisien. Pelajari lebih lanjut tentang metode Panda ________21______4 df['Hire Date'] = df['Hire Date'].apply[lambda x: datetime.strptime[x, '%Y-%m-%d']]
Kesimpulan
Dalam posting ini, Anda belajar cara mengonversi string Python ke tanggal atau waktu. Anda telah mempelajari cara kerja fungsi datetime strptime, kode format datetime, serta cara menangani konversi string ke tanggal di Pandas