Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memisahkan Nilai Dipisahkan Koma kepada Berbilang Baris dalam Pandas DataFrames?

Bagaimana untuk Memisahkan Nilai Dipisahkan Koma kepada Berbilang Baris dalam Pandas DataFrames?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 08:40:03626semak imbas

How to Split Comma-Separated Values into Multiple Rows in Pandas DataFrames?

Memisahkan Sel kepada Berbilang Baris dalam Pandas DataFrames

Apabila berurusan dengan nilai yang dipisahkan koma dalam bingkai data panda, menukarkannya kepada baris mereka sendiri boleh perlu untuk analisis selanjutnya. Begini cara untuk mencapainya:

Untuk Panda >= 0.25:

Kaedah ini memudahkan proses:

<code class="python">(df.set_index(['order_id', 'order_date'])
   .apply(lambda x: x.str.split(',').explode())
   .reset_index())                                                   

   order_id order_date package package_code
0         1  20/5/2018      p1         #111
1         1  20/5/2018      p2         #222
2         1  20/5/2018      p3         #333
3         3  22/5/2018      p4         #444
4         7  23/5/2018      p5         #555
5         7  23/5/2018      p6         #666</code>

Untuk Pandas <= 0.24:

Untuk versi Pandas terdahulu, pendekatan berbeza diperlukan:

<code class="python">(df.set_index(['order_date', 'order_id'])
   .stack()
   .str.split(',', expand=True)
   .stack()
   .unstack(-2)
   .reset_index(-1, drop=True)
   .reset_index()
)

  order_date  order_id package package_code
0  20/5/2018         1      p1         #111
1  20/5/2018         1      p2         #222
2  20/5/2018         1      p3         #333
3  22/5/2018         3      p4         #444
4  23/5/2018         7      p5         #555
5  23/5/2018         7      p6         #666</code>

Butiran:

Kedua-duanya kaedah melibatkan beberapa langkah:

  • Tetapkan lajur tidak berbelah sebagai indeks.
  • Pisah nilai pada koma menggunakan str.split.
  • Tindankan nilai pecahan ke dalam baris .
  • Nyahtindan untuk mengalihkan nilai pisah ke dalam lajur yang berasingan.
  • Tetapkan semula indeks akhir.

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Nilai Dipisahkan Koma kepada Berbilang Baris dalam Pandas DataFrames?. 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