Saya ingin membuat kolom dalam bingkai data panda yang merupakan representasi integer dari jumlah hari di kolom timedelta. Apakah mungkin untuk menggunakan 'datetime.days' atau apakah saya perlu melakukan sesuatu yang lebih manual?
kolom timedelta
7 hari, 23:29:00
kolom integer hari
7
timedelta.days
?Jawaban:
Gunakan
dt.days
atributnya. Akses atribut ini melalui:Anda juga bisa mendapatkan atribut
seconds
danmicroseconds
dengan cara yang sama.sumber
Anda bisa melakukan ini, di mana
td
rangkaian waktu Anda. Pembagian ini mengubah delta nanodetik menjadi delta hari, dan konversi ke int turun menjadi hari penuh.sumber
/
antaratd
dannp
?Benda timedelta telah membaca-satunya contoh atribut
.days
,.seconds
dan.microseconds
.sumber
Jika pertanyaannya bukan hanya "bagaimana cara mengakses bentuk integer dari timedelta?" tapi "bagaimana mengubah kolom timedelta di dataframe menjadi int?" jawabannya mungkin sedikit berbeda. Selain
.dt.days
pengakses yang Anda butuhkandf.astype
ataupd.to_numeric
Salah satu dari opsi ini akan membantu:
atau
sumber
timedelta64[ns]
. Jika tanggal Anda adalah NaN, konversikan dulu ke datetime menggunakanto_datetime
fungsi pandas , lalu gunakan opsi kedua di atas. Untuk lebih jelasnya checkout to_datetime