Kira Baris Berdasarkan Nilai Lajur Biasa dalam Bingkai Data
Banyak set data mengandungi baris pendua dengan nilai yang sama untuk lajur tertentu. Untuk menganalisis kekerapan kejadian ini, kami boleh menggunakan teknik pengumpulan DataFrame.
Pertimbangkan DataFrame yang terdiri daripada lajur "Kumpulan" dan "Saiz":
Group | Size | Time |
---|---|---|
Short | Small | 2 |
Moderate | Medium | 1 |
Moderate | Small | 1 |
Tall | Large | 1 |
GroupBy and Size
Fungsi kumpulan mengikut kumpulan panda membolehkan kami mengumpulkan baris berdasarkan lajur yang ditentukan. Fungsi saiz menyediakan cara mudah untuk mengira bilangan baris dalam setiap kumpulan.
<code class="python">import pandas as pd # Load the sample data data = {'Group': ['Short', 'Short', 'Moderate', 'Moderate', 'Tall'], 'Size': ['Small', 'Small', 'Medium', 'Small', 'Large']} df = pd.DataFrame(data) # Group by "Group" and "Size" columns dfg = df.groupby(by=["Group", "Size"]).size()</code>
Operasi ini akan mengembalikan Siri dengan output berikut:
Group Size Moderate Medium 1 Small 1 Short Small 2 Tall Large 1 dtype: int64
Tetapkan semula Indeks dan Pilihan
Untuk menukar Siri kepada DataFrame dengan lajur untuk kiraan, kami boleh menggunakan reset_index dan menentukan nama untuk lajur baharu:
<code class="python">dfg = df.groupby(by=["Group", "Size"]).size().reset_index(name="Time")</code>
Selain itu, bergantung pada keperluan khusus anda, anda boleh menggunakan variasi fungsi groupby dengan parameter as_index:
<code class="python"># Option 1: Explicitly set index to True dfg = df.groupby(by=["Group", "Size"], as_index=True).size() # Option 2: Leave index unchanged (default) dfg = df.groupby(by=["Group", "Size"]).size() # Option 3: Explicitly set index to False dfg = df.groupby(by=["Group", "Size"], as_index=False).size()</code>
Atas ialah kandungan terperinci Bagaimana Mengira Baris Berdasarkan Nilai Lajur Biasa dalam Bingkai Data Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!