Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggabungkan Lajur Tahun dan Suku Tahun menjadi Lajur Tempoh Tunggal dalam Panda?

Bagaimanakah Saya Boleh Menggabungkan Lajur Tahun dan Suku Tahun menjadi Lajur Tempoh Tunggal dalam Panda?

DDD
DDDasal
2024-12-10 05:24:20559semak imbas

How Can I Combine Year and Quarter Columns into a Single Period Column in Pandas?

Menggabungkan Lajur untuk Lajur Tempoh Baharu

Pernyataan Masalah:

Pertimbangkan bingkai data Pandas dengan lajur bernama "Tahun" dan "suku", seperti yang ditunjukkan di bawah:


Suku tahun
2000 q2
2001 q3

Objektifnya adalah untuk mencipta lajur baharu yang dipanggil "tempoh" dengan menggabungkan "Tahun" dan lajur "suku" untuk mendapatkan hasil berikut:


tempoh suku tahun
2000 q2 2000q2
2001 q3 2001q3

Penyelesaian:

Untuk menggabungkan lajur rentetan dalam Python, seseorang boleh terus menggunakan " " pengendali:


df["tempoh"] = df["Tahun"].astype(str) df["suku"]

Perhatikan bahawa dalam Python 3, adalah perlu untuk menukar lajur "Tahun" kepada rentetan sebelum melakukan penggabungan, seperti yang ditunjukkan dalam contoh di atas menggunakan astype(str).

Jika satu atau kedua-dua lajur bukan daripada jenis rentetan, langkah penukaran ini adalah penting untuk mengelakkan hasil yang tidak dijangka.

Tambahan Pilihan:

Untuk menggabungkan berbilang lajur rentetan, Pandas menyediakan agg yang mudah fungsi:


df['tempoh'] = df[['Tahun', 'suku', ...]].agg('-'.join, axis=1 )

Di sini, '-' mewakili rentetan pemisah yang digunakan untuk menyertai nilai lajur. Kaedah ini amat berguna apabila berurusan dengan berbilang lajur rentetan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Lajur Tahun dan Suku Tahun menjadi Lajur Tempoh Tunggal dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn