Rumah >pembangunan bahagian belakang >Tutorial Python >Super lengkap! Enam cara untuk mendapatkan 'hari dalam seminggu' untuk tarikh tertentu dalam Python!
Apabila melakukan analisis data dalam Python, pengumpulan dan ringkasan mengikut tarikh juga diperlukan, contohnya, untuk mencari corak jualan berkala.
Kemudian sebelum menggunakan Python untuk statistik data, anda perlu menambah langkah tambahan: dapatkan hari dalam seminggu dari tarikh yang ditentukan. Sebagai contoh, 22 Februari 2022, kebetulan adalah hari Selasa ke-22 dalam bulan lunar pertama, jadi terdapat ramai orang yang mendaftar untuk berkahwin pada hari ini. Artikel ini mengambil 2022-02-22 sebagai contoh untuk menunjukkan 6 cara untuk mendapatkan "hari dalam seminggu" untuk tarikh tertentu dalam Python!
Modul datetime ialah perpustakaan terbina dalam Python Tidak perlu memasang pip Selain memaparkan tarikh dan masa, ia juga boleh Melaksanakan operasi dan pemformatan tarikh dan masa.
Kaedah hari minggu() dalam modul datetime boleh digunakan untuk mendapatkan semula hari dalam seminggu Hasilnya mengembalikan integer antara 0 dan 6, digunakan untuk mewakili "Isnin" hingga "Ahad".
Masukkan arahan berikut dalam persekitaran interaktif:
from datetime import datetime datetime.date(2022, 2, 22).weekday()
Output:
1
Dalam kod, modul datetime akan terdiri daripada tahun, bulan dan hari Tukar tarikh kepada tarikh tarikh masa. Kemudian kaedah hari bekerja() mendapat "2022-02-22" iaitu hari Selasa.
Tetapi mengikut tabiat domestik kita, kita tidak boleh langsung mengeluarkan 1. Oleh itu, kita boleh menyesuaikan senarai yang mengandungi "hari dalam seminggu" bahasa Cina dahulu, dan kemudian mengembalikan hari bahasa Cina dalam seminggu melalui pengindeksan.
Masukkan arahan berikut dalam persekitaran interaktif:
week_list = ["星期一","星期二","星期三","星期四","星期五","星期六","星期日"] week_list[datetime.date(2022, 2, 22).weekday()]
Output:
'星期二'
Hasilnya ialah Selasa. Kaedah
isoweekday() berfungsi sama dengan kaedah hari minggu() sebelumnya. Perbezaan terbesar ialah ia mengembalikan integer antara 1-7 untuk mewakili "hari Isnin". ke "Ahad".
Masukkan arahan berikut dalam persekitaran interaktif:
import datetime datetime.date(2022, 2, 22).isoweekday()
Output:
2
Hasil output kali ini secara langsung "minggu 2".
Jika anda ingin terus mengeluarkan nama minggu bahasa Inggeris tarikh tersebut, anda juga boleh mencuba kaedah strftime().
Gunakan kaedah strftime() untuk memaparkan objek datetime sebagai rentetan. Kami sebenarnya sangat biasa dengan menukar format tarikh kepada format rentetan, seperti strftime('%b-%m-%y %H:%M:%S'). hari dalam seminggu.
Masukkan arahan berikut dalam persekitaran interaktif:
import datetime datetime.date(2022, 2, 22).strftime("%A")
Output:
'Tuesday'
Jika anda menukar %A dalam kod kepada %a, output It ialah singkatan untuk hari dalam seminggu.
datetime.date(2022, 2, 22).strftime("%a")
Output:
'Tue'
Modul kalendar dalam Python juga merupakan perpustakaan terbina dalam, yang menyediakan banyak kaedah untuk kami memproses kalendar. Gunakan Ia sangat mudah untuk digunakan dan kami boleh menggunakannya untuk membuat kalendar/kalendar mingguan, dsb. Begitu juga, ia juga menyediakan kaedah hari minggu() dan day_name() untuk menanyakan hari dalam minggu untuk tarikh yang ditentukan.
Masukkan arahan berikut dalam persekitaran interaktif:
import calendar calendar.weekday(2022, 2, 22)
Output:
1
Ini adalah sama dengan kaedah datetime modul weekday() kaedah pertama kaedah di atas adalah sama.
Jika anda ingin terus mengeluarkan nama minggu bahasa Inggeris tarikh tersebut, modul kalendar juga mempunyai kaedah untuk mencapainya.
import datetime import calendar date_week = datetime.date(2022, 2, 22).weekday() calendar.day_name[date_week]
Output:
'Tuesday'
Modul datetime juga mempunyai beberapa had, seperti mengendalikan isu zon waktu dan sebagainya. Modul pendulum ialah perpustakaan sumber terbuka pihak ketiga yang boleh menyelesaikan semua masalah modul datetime terbina dalam.
https://www.php.cn/link/ebc03fa648c2cd7da9d63b9ed835664e
Sudah tentu, ia juga mempunyai kaedah untuk mengeluarkan hari dalam seminggu untuk tarikh yang ditetapkan.
Masukkan arahan berikut dalam persekitaran interaktif:
import pendulum pendulum.parse('2022-02-22').day_of_week
Output:
2
Hasil output secara langsung "minggu 2".
Akhir sekali, akhirnya, saya ingin bercakap tentang salah satu kaedah yang paling biasa saya gunakan. Oleh kerana Xiaowu biasanya memproses data dalam Panda, kaedah dalam Panda pasti akan diberi keutamaan apabila menjana lajur "minggu".
Series.dt boleh digunakan untuk mengakses nilai siri dalam fesyen seperti tarikh dan mengembalikan beberapa sifat. Fungsi Series.dt.day_name() mengembalikan nama tarikh dengan DateTimeIndex bagi tempat yang ditentukan.
Masukkan arahan berikut dalam persekitaran interaktif:
import pandas as pd from datetime import datetime df = pd.DataFrame({ "name": ["张三", "李四", "朱五"], "date": [datetime(2022, 2, 21), datetime(2022, 2, 22), datetime(2022, 2, 23)]}) df
Output adalah seperti yang ditunjukkan di bawah:
df["week_num1"] = df["date"].dt.dayofweek df["week_num2"] = df["date"].dt.weekday df["week_name"] = df["date"].dt.day_name() df
The output adalah seperti berikut Seperti yang ditunjukkan dalam gambar:
Dalam artikel hari ini, kami memperkenalkan sejumlah 6 kaedah untuk mendapatkan hari dalam seminggu dari tarikh yang ditentukan.
Saya harap perkongsian saya akan membantu anda Jika anda melihat rakan-rakan di penghujung artikel, sila berikan like di sudut kanan bawah sebelum keluar~
Atas ialah kandungan terperinci Super lengkap! Enam cara untuk mendapatkan 'hari dalam seminggu' untuk tarikh tertentu dalam Python!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!