Dalam senario ini, anda mempunyai DataFrame yang mengandungi data pesanan, di mana setiap pesanan mempunyai berbilang pakej yang disimpan sebagai dipisahkan koma rentetan dalam lajur pakej dan package_code. Matlamatnya adalah untuk memisahkan pakej ini dan mencipta baris baharu untuk setiap pakej yang termasuk butiran pesanannya yang sepadan.
Dengan mengandaikan semua lajur boleh belah mempunyai bilangan item yang dipisahkan koma yang sama, anda boleh menggunakan langkah berikut untuk mencapai output yang diingini:
<code class="python">import pandas as pd # Create the sample DataFrame df = pd.DataFrame({"order_id": [1, 3, 7], "order_date": ["20/5/2018", "22/5/2018", "23/5/2018"], "package": ["p1,p2,p3", "p4", "p5,p6"], "package_code": ["#111,#222,#333", "#444", "#555,#666"]}) # Use pandas functions to split and explode the columns result_df = (df.set_index(['order_id', 'order_date']) .apply(lambda x: x.str.split(',').explode()) .reset_index()) # Display the output DataFrame print(result_df)</code>
Kod ini mula-mula menetapkan lajur untuk tidak disentuh sebagai indeks. Ia kemudian melelang melalui setiap lajur, membahagikan nilai pada koma dan meletupkannya ke dalam barisnya sendiri. Akhirnya, indeks ditetapkan semula untuk mendapatkan format yang diingini.
DataFrame output akan mempunyai baris yang berasingan untuk setiap pakej, termasuk butiran pesanannya.
Atas ialah kandungan terperinci Bagaimana untuk Mengasingkan Nilai Dipisahkan Koma kepada Berbilang Baris dalam Pandas DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!