Bagaimana Anda mengubah data harian menjadi data mingguan dengan python?

Saat bekerja dengan data pasar saham, terkadang kami ingin mengubah jendela referensi waktu kami. Umumnya harga harian tersedia di bursa saham. Mari kita lihat bagaimana mengubah harga harian menjadi harga mingguan dan bulanan. Anda dapat mengunduh harga harian dari NSE dari [tautan ini](https. // www. nseindia. com/produk/konten/ekuitas/ekuitas/eq_security. htm). Kami akan mengunduh harga harian selama 24 bulan terakhir. Berikut adalah contoh file yang akan kami gunakan Silakan merujuk ke program di bawah ini untuk mengubah harga harian menjadi mingguan. Komentar dalam program akan membantu Anda memahami logika di balik setiap baris. ```python ############################################## . convert_daily_to_weekly. py # desc. mengambil inout sebagai harga harian dan mengubahnya menjadi data mingguan # tanggal. 15-06-2018 # Penulis. conquistadorjd ################################################### . read_csv('15-06-2016-TO-14-06-2018HDFCBANKALLN. csv') # memastikan hanya seri ekuitas yang dianggap df = df. loc[df['Series'] == 'EQ'] # Konversi tanggal ke format datetime panda df['Date'] = pd. to_datetime(df['Date']) # Mendapatkan nomor minggu df['Week_Number'] = df['Date']. dt. minggu # Mendapatkan tahun. Weeknum adalah umum sepanjang tahun sehingga kita perlu membuat indeks unik dengan menggunakan year dan weeknum df['Year'] = df['Date']. dt. tahun # Pengelompokan berdasarkan nilai yang dibutuhkan df2 = df. groupby(['Tahun','Nomor_Minggu']). agg({'Harga Terbuka'. 'pertama', 'Harga Tinggi'. 'maks', 'Harga Rendah'. 'min', 'Harga Tutup'. 'terakhir','Total Kuantitas yang Diperdagangkan'. 'jumlah'}) # df3 = df. groupby(['Tahun','Nomor_Minggu']). agg({'Harga Terbuka'. 'pertama', 'Harga Tinggi'. 'maks', 'Harga Murah'. 'min', 'Harga Tutup'. 'terakhir','Total Kuantitas yang Diperdagangkan'. 'jumlah','Harga Rata-Rata'. 'rata-rata'}) df2. to_csv('Mingguan_OHLC. csv') print('*** Program telah berakhir ***') ``` Setelah Anda memahami harian hingga mingguan, hanya diperlukan modifikasi kecil untuk mengubahnya menjadi data OHLC bulanan. Ini skrip ```python ########################################## . convert_daily_to_monthly. py # desc. ambil inout sebagai harga harian dan ubah menjadi data bulanan # tanggal. 15-06-2018 # Penulis. conquistadorjd ################################################### . read_csv('15-06-2016-TO-14-06-2018HDFCBANKALLN. csv') # memastikan hanya seri ekuitas yang dianggap df = df. loc[df['Series'] == 'EQ'] # Konversi tanggal ke format datetime panda df['Date'] = pd. to_datetime(df['Date']) # Mendapatkan nomor bulan df['Month_Number'] = df['Date']. dt. bulan # Mendapatkan tahun. bulan biasa terjadi selama bertahun-tahun (seolah-olah Anda tidak tahu. ) )untuk kita perlu membuat indeks unik dengan menggunakan tahun dan bulan df['Year'] = df['Date']. dt. tahun # Pengelompokan berdasarkan nilai yang dibutuhkan df2 = df. groupby(['Tahun','Bulan_Nomor']). agg({'Harga Terbuka'. 'pertama', 'Harga Tinggi'. 'maks', 'Harga Rendah'. 'min', 'Harga Tutup'. 'terakhir','Total Kuantitas yang Diperdagangkan'. 'jumlah'}) # df3 = df. groupby(['Tahun','Nomor_Minggu']). agg({'Harga Terbuka'. 'pertama', 'Harga Tinggi'. 'maks', 'Harga Rendah'. 'min', 'Harga Tutup'. 'terakhir','Total Kuantitas yang Diperdagangkan'. 'jumlah','Harga Rata-Rata'. 'rata-rata'}) df2. to_csv('Bulanan_OHLC. csv') print('*** Program berakhir ***') ``` Saya membuang waktu untuk menemukan 'Harga Terbuka' untuk data mingguan dan bulanan. Saya mencoba beberapa pertanyaan panda yang rumit dan kemudian menyadari hal yang sama dapat dicapai hanya dengan menggunakan fungsi agregat. Tolong beri tahu saya tanggapan Anda


Posting ini ditulis oleh Pravin

Tag

Tinggalkan komentar

Kirim

Di sini, kita akan melihat bagaimana kita dapat mengonversi data harian menjadi data mingguan/bulanan tanpa kehilangan nama kolom dan tanggal sebagai indeks

Saya menggunakan “covid_19_india. csv” dari Kaggle sebagai sampel dataset kami dengan shape(9291,9). Anda dapat mengunduhnya dari tautan di bawah ini

COVID-19 di India

Dataset Novel Corona Virus Disease 2019 di India

www. kaggle. com

Mari mulai dan muat “covid_19_india. csv” kumpulan data

Masukan 1

Keluaran

Seperti yang Anda lihat di atas, tanggal kami adalah tipe string, jadi kami perlu mengonversinya menjadi tipe DateTime

Masukan 2

Keluaran

Sekarang kita bisa melihat bahwa kolom Tanggal ada di objek tanggal. Selain itu, kami membuang beberapa kolom untuk menyederhanakan data. Namun, ini tidak diperlukan, saat mengonversi data harian menjadi mingguan/bulanan/tahunan, kolom kategorikal akan dihapus

Masukan 3

Keluaran

Seperti yang Anda lihat, data harian kami diubah menjadi mingguan tanpa kehilangan nama kolom dan tanggal lain sebagai indeks

Anda juga dapat mengonversi ke bulan hanya dengan menggunakan "m" alih-alih "w". Untuk Misalnya. df. contoh ulang(“m”). berarti(). 'm' selama berbulan-bulan

Bagaimana cara mengubah data harian menjadi mingguan?

Klik sel di kolom tanggal tabel pivot yang dibuat Excel di spreadsheet. Klik kanan dan pilih "Grup", lalu "Hari. " Masukkan "7" di kotak "Jumlah hari" untuk mengelompokkan berdasarkan minggu. Klik "OK" dan verifikasi bahwa Anda telah mengonversi data harian menjadi data mingguan dengan benar.

Bagaimana cara mengelompokkan data harian menjadi minggu di panda?

Misalnya, Anda dapat menentukan Freq=W-MON jika Anda ingin setiap minggu dimulai setelah Senin (i. e. Selasa) sebagai gantinya. Inilah cara menginterpretasikan output. Penjualan maksimal pada satu hari selama seminggu mulai hari setelah 1/2/2022 adalah 9.

Bagaimana Anda mengonversi data bulanan menjadi mingguan dengan Python?

Petunjuk .
Buat bulanan_dates menggunakan pd. date_range dengan start , end dan alias frekuensi 'M'
Membuat dan mencetak pd. Seri monthly , meneruskan daftar [1, 2] sebagai argumen data, dan menggunakan monthly_dates sebagai index
Buat tanggal_mingguan menggunakan pd. date_range dengan start , end dan alias frekuensi 'W'
Berlaku

Bagaimana cara mendapatkan nomor minggu dari kolom tanggal dengan Python?

Untuk mendapatkan angka minggu dari objek datetime di Python, Anda perlu menggunakan. isocalendar(). minggu . Ini adalah pendekatan yang disarankan untuk Python > 3. 9.