Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Mengeluarkan Tahun dan Bulan dengan Cekap daripada Lajur Datetime Pandas?
Mengekstrak Nilai Bulan dan Tahun daripada Lajur Masa Tarikh Panda
Apabila bekerja dengan data siri masa dalam Bingkai Data Pandas, selalunya perlu untuk mengekstrak khusus komponen daripada nilai datetime untuk tujuan analisis atau visualisasi. Dalam kes ini, kami menyasarkan untuk mengeluarkan hanya bulan dan tahun daripada lajur yang mengandungi objek pandas.tslib.Timestamp.
Beberapa kaedah telah cuba untuk mengekstrak nilai ini. Kaedah resample() dengan kekerapan 'M' gagal kerana ia memerlukan DatetimeIndex atau PeriodIndex. Pendekatan fungsi lambda gagal kerana ketiadaan atribut getitem untuk objek Timestamp.
Penyelesaian yang elegan ialah menetapkan indeks Bingkai Data kepada lajur ArrivalDate. Ini mengubah nilai datetime menjadi label indeks. Operasi pensampelan semula seterusnya boleh dilakukan menggunakan indeks:
df.index = df['ArrivalDate']
Walau bagaimanapun, untuk tujuan mengekstrak nilai tahun dan bulan yang berasingan ke dalam lajur baharu, pendekatan berbeza disyorkan:
df['year'] = pd.DatetimeIndex(df['ArrivalDate']).year df['month'] = pd.DatetimeIndex(df['ArrivalDate']).month
Sebagai alternatif, aksesori dt boleh digunakan untuk ringkas sintaks:
df['year'] = df['ArrivalDate'].dt.year df['month'] = df['ArrivalDate'].dt.month
Operasi ini mencipta lajur baharu bernama 'tahun' dan 'bulan' yang mengandungi nilai yang diekstrak. Ini membolehkan penggunaan fleksibel komponen ini untuk analisis dan manipulasi selanjutnya.
Atas ialah kandungan terperinci Bagaimana Mengeluarkan Tahun dan Bulan dengan Cekap daripada Lajur Datetime Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!