Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Fungsi DENSE_RANK dalam Panda?
Cara yang setara untuk melaksanakan fungsi DENSE_RANK dalam Panda
Panda selalunya perlu menyusun nilai dalam kumpulan, dan nilai pendua dianggap mempunyai kedudukan yang sama. Untuk melakukan ini, kita boleh menggunakan fungsi pd.Series.rank
, khususnya menggunakan kaedah 'dense'
.
Ambil bingkai data berikut sebagai contoh:
年份 | 数值 |
---|---|
2012 | 10 |
2013 | 20 |
2013 | 25 |
2014 | 30 |
Matlamat kami adalah untuk mencipta lajur baharu yang dipanggil "Kedudukan" yang memberikan kedudukan padat berdasarkan lajur "Tahun", menghasilkan perkara berikut:
年份 | 数值 | 排名 |
---|---|---|
2012 | 10 | 1 |
2013 | 20 | 2 |
2013 | 25 | 2 |
2014 | 30 | 3 |
Untuk ini kita boleh menggunakan kod berikut:
<code class="language-python">df['排名'] = df.年份.rank(method='dense').astype(int)</code>
pd.Series.rank
Fungsi mengira kedudukan setiap elemen dalam Siri. Dengan menentukan 'dense'
sebagai kaedah, kami mengarahkannya untuk menetapkan kedudukan yang sama kepada elemen dengan nilai yang sama. Akhir sekali, kami menggunakan .astype(int)
untuk menukar hasil kepada jenis data integer.
Output kod akan menjana lajur "Kedudukan" baharu dalam bingkai data, seperti ditunjukkan di bawah:
<code> 年份 数值 排名 0 2012 10 1 1 2013 20 2 2 2013 25 2 3 2014 30 3</code>
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fungsi DENSE_RANK dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!