Jika saya memiliki kerangka data dengan kolom berikut:
1. NAME object
2. On_Time object
3. On_Budget object
4. %actual_hr float64
5. Baseline Start Date datetime64[ns]
6. Forecast Start Date datetime64[ns]
Saya ingin mengatakan: ini adalah kerangka data, beri saya daftar kolom yang bertipe Obyek atau bertipe DateTime?
Saya memiliki fungsi yang mengubah angka (Float64) menjadi dua tempat desimal, dan saya ingin menggunakan daftar kolom dataframe ini, dari tipe tertentu, dan menjalankannya melalui fungsi ini untuk mengonversi semuanya menjadi 2dp.
Mungkin:
For c in col_list: if c.dtype = "Something"
list[]
List.append(c)?
df.dtypes
apakah itu.Jawaban:
Jika Anda ingin daftar kolom dari jenis tertentu, Anda dapat menggunakan
groupby
:sumber
object
ketik, terlepas dari kontennya yang sebenarnyaselect_dtypes
sebagai gantinyaPada panda v0.14.1, Anda dapat memanfaatkan
select_dtypes()
untuk memilih kolom berdasarkansumber
Menggunakan
dtype
akan memberi Anda tipe data kolom yang diinginkan:jika Anda ingin mengetahui tipe data dari semua kolom sekaligus , Anda dapat menggunakan bentuk jamak
dtype
sebagai dtypes :sumber
df.select_dtypes(include=['Object','DateTime']).columns
seperti yang dibahas di bawah iniAnda bisa menggunakan topeng boolean pada atribut dtypes:
Anda dapat melihat kolom-kolom itu hanya dengan tipe yang diinginkan:
Sekarang Anda bisa menggunakan round (atau apa pun) dan mengembalikannya:
sumber
Ini harus melakukan trik
sumber
gunakan di
df.info(verbose=True)
manadf
adalah panda datafarme, secara defaultverbose=False
sumber
Cara paling langsung untuk mendapatkan daftar kolom dari tipe tertentu misalnya 'objek':
Sebagai contoh:
Untuk mendapatkan semua kolom tipe objek ':
Untuk daftar saja:
sumber
Jika Anda ingin daftar hanya kolom objek yang dapat Anda lakukan:
dan kemudian jika Anda ingin mendapatkan daftar numerik lainnya:
sumber
Saya datang dengan tiga liner ini .
Pada dasarnya, inilah fungsinya:
Ini membuat hidup saya jauh lebih mudah dalam mencoba membuat skema dengan cepat. Semoga ini membantu
sumber
untuk yoshiserry;
sumber
Saya menggunakan infer_objects ()
df.infer_objects().dtypes
sumber