Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membahagikan DataFrame Berdasarkan Nilai Lajur dalam Panda?

Bagaimana untuk Membahagikan DataFrame Berdasarkan Nilai Lajur dalam Panda?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-19 22:34:29295semak imbas

How to Divide a DataFrame Based on Column Values in Pandas?

Panda: Membahagikan DataFrame Berdasarkan Nilai Lajur

Apabila bekerja dengan Pandas DataFrames, keperluan timbul untuk membahagikan data kepada subset berdasarkan nilai lajur tertentu. Satu senario biasa ialah memisahkan DataFrame berdasarkan nilai ambang. Begini cara ia boleh dicapai:

Mencipta Topeng Boolean

Kaedah paling mudah melibatkan mencipta topeng boolean menggunakan operator perbandingan. Dengan menggunakan topeng pada DataFrame, anda boleh mencipta dua DataFrame dengan data yang memuaskan syarat yang ditetapkan oleh mask.

Contohnya, untuk memisahkan DataFrame dengan lajur bernama 'Jualan' dengan nilai jualan kurang daripada dan lebih besar daripada atau sama dengan ambang 's' yang ditentukan:

<code class="python">import pandas as pd

df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]})
print(df)

s = 30

# Boolean mask for rows where Sales >= s
sales_ge_mask = df['Sales'] >= s

# DataFrame with Sales >= s
df1 = df[sales_ge_mask]
print(df1)

# Boolean mask for rows where Sales < s
sales_lt_mask = df['Sales'] < s

# DataFrame with Sales < s
df2 = df[sales_lt_mask]
print(df2)

Anda boleh terbalikkan topeng menggunakan operator "~" untuk memisahkan DataFrame berdasarkan penolakan syarat.

<code class="python"># Boolean mask for rows where Sales < s
sales_lt_mask = df['Sales'] < s

# DataFrame with Sales >= s
df1 = df[~sales_lt_mask]
print(df1)

# DataFrame with Sales < s
df2 = df[sales_lt_mask]
print(df2)</code>

Kaedah ini mencipta subset DataFrames dengan cekap berdasarkan keadaan yang disesuaikan.

Atas ialah kandungan terperinci Bagaimana untuk Membahagikan DataFrame Berdasarkan Nilai Lajur dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn