Memisahkan DataFrame Panda Berdasarkan Nilai Lajur
Dalam Panda, senario yang biasa dihadapi ialah keperluan untuk membahagikan DataFrame kepada beberapa subset berdasarkan nilai yang terdapat dalam lajur tertentu. Ini membolehkan analisis dan manipulasi data yang disasarkan.
Untuk mencapai matlamat ini, kami boleh memanfaatkan kuasa pengindeksan boolean dalam Pandas. Mari kita pertimbangkan DataFrame dengan lajur bernama "Jualan" dan terokai cara kita boleh membahagikannya kepada dua berdasarkan sama ada nilai "Jualan" berada di bawah atau di atas nilai ambang 's'.
Penyelesaian:
<code class="python"># Create a DataFrame with a "Sales" column df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]}) print (df)</code>
A Sales 0 3 10 1 4 20 2 7 30 3 6 40 4 1 50
<code class="python"># Split the DataFrame based on "Sales" values s = 30 df1 = df[df['Sales'] >= s] print (df1)</code>
A Sales 2 7 30 3 6 40 4 1 50
Ini mencipta DataFrame baharu, df1, yang mengandungi baris yang nilai "Jualan" lebih besar daripada atau sama dengan 's'.
<code class="python">df2 = df[df['Sales'] < s] print (df2)
A Sales 0 3 10 1 4 20
df2 terdiri daripada baris dengan nilai "Jualan" kurang daripada 's'.
Pendekatan Alternatif Menggunakan Penolakan Bitwise:
Daripada menggunakan lebih besar daripada atau sama dengan pengendali, kita juga boleh menggunakan penolakan bitwise (~) untuk menyongsangkan topeng:
<code class="python">mask = df['Sales'] >= s df1 = df[mask] df2 = df[~mask] print (df1)</code>
A Sales 2 7 30 3 6 40 4 1 50
<code class="python">print (df2)</code>
A Sales 0 3 10 1 4 20
Pendekatan ini mencapai pemisahan yang sama tetapi membolehkan gaya pengekodan yang lebih ringkas dan dioptimumkan.
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Pandas DataFrame kepada Subset Berdasarkan Nilai Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!