Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh mengira kekerapan baris yang sama dalam DataFrame panda berdasarkan berbilang lajur?

Bagaimanakah saya boleh mengira kekerapan baris yang sama dalam DataFrame panda berdasarkan berbilang lajur?

Susan Sarandon
Susan Sarandonasal
2024-10-25 02:03:02675semak imbas

How can I count the frequency of identical rows in a pandas DataFrame based on multiple columns?

Dapatkan Kiraan Frekuensi daripada Berbilang Lajur Bingkai Data

Untuk menentukan kekerapan baris yang sama dalam bingkai data, anda boleh menggunakan kaedah groupby() dengan fungsi saiz(). Teknik ini membolehkan anda mengira kejadian gabungan unik nilai merentas berbilang lajur.

Pertimbangkan bingkai data berikut:

   Group | Size |
---------+------+
   Short | Small |
   Short | Small |
   Moderate | Medium |
   Moderate | Small |
   Tall | Large |

Untuk mengira kekerapan setiap baris, kami boleh mengumpulkan bingkai data oleh lajur "Kumpulan" dan "Saiz" dan gunakan fungsi saiz() untuk menentukan bilangan kali setiap baris muncul:

<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)

# Option 1:
dfg = df.groupby(by=["Group", "Size"]).size()

# Option 2: Reset the index to convert the Series to a DataFrame
dfg = df.groupby(by=["Group", "Size"]).size().reset_index(name="Time")

# Option 3: Use as_index=False to create a DataFrame without an index
dfg = df.groupby(by=["Group", "Size"], as_index=False).size()</code>

Bingkai data yang terhasil akan memberikan kiraan kekerapan untuk setiap gabungan "Kumpulan nilai " dan "Saiz". Sebagai contoh, output mungkin muncul seperti berikut:

  Group | Size | Time
--------+------+------
  Moderate | Medium | 1
  Moderate | Small | 1
  Short | Small | 2
  Tall | Large | 1

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengira kekerapan baris yang sama dalam DataFrame panda berdasarkan berbilang lajur?. 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