Konversi string ke datetime utc python

Bekerja dengan tanggal dan waktu di Python tidak otomatis saat menganalisis kumpulan data untuk pertama kalinya. Ada banyak fitur yang perlu diperhatikan, seperti tahun, bulan, hari, jam, menit, detik, tetapi juga fitur yang lebih kompleks seperti durasi, hari kerja, zona waktu. Untuk alasan ini, saya akan berbicara tentang modul Python, yang memanipulasi jenis informasi ini. [1]

Kumpulan data sering memiliki tanggal yang direpresentasikan sebagai string dan Anda perlu mengonversinya ke format datetime agar dapat bekerja dengan data deret waktu. Dalam tutorial ini, saya akan menjelaskan library dengan beberapa contoh agar mudah memahami cara menangani data ini

Isi

1. Kelas datetime

Ada enam kelas datetime yang berbeda untuk menangani berbagai aspek tanggal dan waktu

  • tanggal → memungkinkan untuk bekerja dengan tahun, bulan, hari
  • waktu → memungkinkan untuk memanipulasi informasi dari hari, jam, menit, detik, mikrodetik, dan tzinfo tertentu
  • datetime → gabungkan tanggal dan waktu bersama. Jadi, atributnya adalah tahun, bulan, hari, jam, menit, detik, mikrodetik, dan tzinfo
  • timedelta → durasi yang mewakili perbedaan antara dua istance tanggal, waktu, atau waktu
  • tzinfo → class untuk objek informasi zona waktu
  • zona waktu → kelas yang mengimplementasikan kelas dasar abstrak tzinfo sebagai offset tetap dari UTC
2. Ubah string menjadi objek datetime

Fungsi yang paling sering digunakan yang mengembalikan datetime yang sesuai dengan string disebut strptime. Dibutuhkan sebagai argumen string dan format tanggal yang sesuai dari string

tanggal Waktu. strptime[string_tanggal, format]

Kita dapat memeriksa bagaimana fungsi bekerja dengan berbagai contoh

Hasil

2021-05-01 00:00:002021-05-01 00:00:002020-12-31 00:00:002020-12-31 23:55:55

Setelah mengimpor datatime, kami meneruskan string ke fungsi strptime[]. Formatnya dibentuk oleh arahan seperti %d dan karakter khusus [spasi kosong, koma, titik, …]

Sekarang saya akan menunjukkan contoh yang lebih kompleks

Hasil

2007-01-01 00:14:24
2007-01-01 00:14:24.055000
2007-01-01T00:14:24.055+0100
2007-01-01T00:14:24.055+0100 #string modified
2007-01-01 00:14:24.055000+01:00
_

Tabel di bawah menunjukkan arahan paling relevan yang digunakan untuk mengontrol string format eksplisit

Arahan yang paling relevan. Untuk gambaran lengkap tentang tabel, lihat

Cara yang lebih mudah untuk mengenali offset UTC tanpa menghapus “. “ adalah dengan menggunakan fungsi parse dari modul parser [2]

Hasil

datetime.datetime[2005, 1, 3, 2, 25, tzinfo=tzoffset[None, 3600]]

Itu dapat mengurai string tanpa menentukan format string

3. Ekstrak fitur dari objek datetime

Fitur yang lebih kompleks dapat diekstraksi dengan mudah dari objek datetime. Untuk melakukannya, kita dapat menggunakan metode dir yang mengembalikan daftar semua atribut objek yang valid. Ini sangat efektif ketika perpustakaan tidak sepenuhnya didokumentasikan atau Anda ingin membuat kode lebih cepat. Mari kita gunakan contoh terakhir, di mana variabel d juga merupakan objek waktu

Hasil

['__add__',...'astimezone',  'combine',  'ctime',  'date',  'day',  'dst',  'fold',  'fromordinal',  'fromtimestamp',  'hour',  'isocalendar',  'isoformat',  'isoweekday',  'max',  'microsecond',  'min',  'minute',  'month',  'now',  'replace',  'resolution',  'second',  'strftime',  'strptime',  'time',  'timestamp',  'timetuple',  'timetz',  'today',  'toordinal',  'tzinfo',  'tzname',  'utcfromtimestamp',  'utcnow',  'utcoffset',  'utctimetuple',  'weekday',  'year']

Ada banyak informasi yang bisa digali seperti tahun, bulan, hari, jam, menit, detik, dan mikrodetik

Hasil

2005 
1
3
2
25
0
0
tzoffset[None, 3600]
_

Jenis informasi lain dapat diekstraksi menggunakan fungsi modul datetime

Hasil

0
1
[2005, 1, 1]

Fungsi hari kerja mengembalikan hari dalam seminggu sebagai bilangan bulat dengan nilai dari 0 hingga 6, sedangkan dalam fungsi isoweekday dengan nilai dari 1 hingga 7. Fungsi isocalendar mengembalikan tuple yang dibentuk oleh tiga elemen. tahun, minggu, dan hari kerja. Ada banyak fungsi lain untuk digunakan di perpustakaan datetime, Anda hanya perlu memeriksa halaman web resmi

4. Mengonversi kolom string tanggal

Mari terapkan apa yang kita pelajari dalam kumpulan data nyata. Kami akan mengambil kumpulan data dari Kaggle, yang disebut Tanah Longsor Setelah Curah Hujan, 2007–2016. Ini berisi informasi tentang tanah longsor yang terjadi antara tahun 2007 dan 2016. Jadi, mari impor dataset menggunakan fungsi read_csv dari library pandas

Kita dapat memiliki gambaran umum tentang kumpulan data. Untuk mendapatkan ringkasan bingkai data, mari gunakan fungsi info[]

Kolom tanggal adalah string, dilambangkan sebagai "objek", dan kita perlu mengubahnya menjadi format waktu

Jadi, sekarang kita akhirnya memiliki tanggal kolom dengan format yang tepat

5. Ekstrak fitur dari tanggal kolom

Untuk membuat prediksi dengan model, tanggal kolom tidak berguna dan kami lebih memilih nilai numerik. Untuk alasan ini, saya akan membuat tiga variabel baru, yang berisi hari, bulan, dan tahun

Kami juga dapat memperoleh tanggal satu minggu sebelumnya. Dimungkinkan untuk mengekstrak tanggal ini dengan membuat perbedaan antara kolom tanggal dan fungsi timedelta, di mana kami menentukan jumlah hari untuk dikurangi

Setelah kami mengekstraksi semua informasi temporal, kami dapat menghapus tanggal kolom

Selamat. Langkah pertama untuk melakukan pra-proses objek datetime akhirnya selesai

Pikiran lebih lanjut

Ini adalah langkah-langkah yang saya ambil untuk bekerja dengan kumpulan data yang berisi kolom tanggal. Tampaknya agak sulit pada awalnya ketika Anda tidak memiliki dasar-dasarnya. Saya harap tutorial ini akan membantu Anda untuk memahaminya dengan lebih cepat dan percaya diri dengan waktu perpustakaan. Seperti yang Anda amati, pada langkah terakhir saya tidak menggunakan fungsi parse dari modul parser, yang seharusnya lebih mudah digunakan, tetapi pada saat yang sama, itu tidak berfungsi dengan semua jenis tanggal. Jadi dalam hal ini lebih baik menerapkan fungsi strptime. Terima kasih telah membacanya. Semoga harimu menyenangkan

Referensi

[1] https. //dokumen. python. org/3/library/datetime. html

[2] https. //dateutil. readthedocs. io/en/stable/parser. html

Apakah Anda menyukai artikel saya? . Ini adalah cara tidak langsung untuk mendukung saya tanpa biaya tambahan untuk Anda. Jika Anda sudah menjadi anggota, berlangganan untuk mendapatkan email setiap kali saya menerbitkan panduan ilmu data dan python baru

Bagaimana cara mengonversi string ke waktu UTC dengan Python?

Untuk mengubah string waktu menjadi objek datetime, datetime. strptime[] fungsi modul datetime digunakan . Fungsi ini mengembalikan objek datetime.

Bagaimana cara mengubah string menjadi tanggal waktu 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 mengubah string menjadi cap waktu 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 memformat waktu UTC dengan Python?

Gunakan modul pytz, yang dilengkapi dengan daftar lengkap zona waktu + UTC. Cari tahu apa itu zona waktu lokal, buat objek zona waktu darinya, dan manipulasi serta lampirkan ke datetime yang naif. Terakhir, gunakan datetime. metode astimezone[] untuk mengonversi datetime ke UTC

Bài mới nhất

Chủ Đề