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 waktu
Salah 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=)
_
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
_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 bagian
Cara menggunakan strptime untuk mengubah string python menjadi tanggal
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 modul datetime
- 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
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
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)
_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)
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)
9
Hal 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 sini
Mari 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 datetime
df['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
Untuk mengonversi string menjadi objek datetime, kita dapat menggunakan fungsi strptime() dari modul datetime . Misalnya, Anda mungkin perlu mengonversi string numerik seperti 13-05-2021 menjadi objek datetime. atau Anda ingin mengonversi string yang mewakili tanggal seperti Senin, 13 Mei 2021 menjadi objek datetime.
Bagaimana cara mengonversi string menjadi datetime dengan Python?
Ubah String menjadi objek datetime menggunakan datetime. strptime() Tanggal waktu. metode strptime() mengembalikan objek datetime yang cocok dengan date_string yang diuraikan oleh format. Kedua argumen diperlukan dan harus berupa string.
Bagaimana cara mengonversi string menjadi stempel waktu dengan Python?
Impor perpustakaan datetime. Gunakan waktu tanggal. kelas datetime untuk menangani kombinasi tanggal dan waktu. Gunakan metode strptime untuk mengonversi datetime string menjadi datetime objek .
Bagaimana cara mengubah tanggal string menjadi tanggal?