Fungsi pandas.concat() ialah alat yang berkuasa untuk menggabungkan berbilang Siri atau DataFrames di sepanjang paksi tertentu. Ia menawarkan beberapa hujah pilihan, termasuk tahap, kunci dan nama, yang boleh digunakan untuk menyesuaikan MultiIndex yang terhasil.
Argumen tahap digunakan untuk menentukan tahap MultiIndex yang terhasil. Secara lalai, Pandas akan membuat kesimpulan tahap daripada hujah kunci. Walau bagaimanapun, anda boleh mengatasi tahap yang disimpulkan dengan menghantar senarai jujukan kepada hujah tahap.
Sebagai contoh, kod berikut menggabungkan dua DataFrames di sepanjang baris, menggunakan MultiIndex dengan dua tahap:
<code class="python">df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]}) df = pd.concat([df1, df2], keys=['df1', 'df2'], levels=['level1', 'level2']) print(df) level1 level2 A B C D 0 df1 1 1 3 5 7 1 df1 2 2 4 6 8</code>
Dalam contoh ini, hujah peringkat ialah senarai dua jujukan: ['level1', 'level2']. Ini mencipta MultiIndex dengan dua tahap: 'level1' dan 'level2'. Argumen kunci ialah senarai dua rentetan: ['df1', 'df2']. Ini memberikan nilai 'df1' dan 'df2' kepada tahap pertama dan kedua MultiIndex, masing-masing.
Argumen kunci digunakan untuk menentukan kunci untuk MultiIndex yang terhasil. Secara lalai, Pandas akan menggunakan label indeks objek input sebagai kunci. Walau bagaimanapun, anda boleh mengatasi kekunci lalai dengan menghantar senarai nilai kepada argumen kunci.
Sebagai contoh, kod berikut menggabungkan dua DataFrames di sepanjang baris, menggunakan MultiIndex dengan tiga peringkat:
<code class="python">df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]}) df = pd.concat([df1, df2], keys=[('A', 'B'), ('C', 'D')]) print(df) level1 level2 A B C D 0 A B 1 3 5 7 1 C D 2 4 6 8</code>
Dalam contoh ini, hujah kunci ialah senarai dua tupel: [('A', 'B'), ('C', 'D')]. Ini mencipta MultiIndex dengan tiga tahap: 'level1', 'level2' dan 'level3'. Argumen kekunci memperuntukkan nilai 'A' dan 'B' kepada tahap pertama MultiIndex, dan nilai 'C' dan 'D' kepada tahap kedua MultiIndex.
Argumen nama digunakan untuk menentukan nama peringkat MultiIndex yang terhasil. Secara lalai, Pandas akan menggunakan nama label indeks objek input sebagai nama peringkat. Walau bagaimanapun, anda boleh mengatasi nama lalai dengan menghantar senarai rentetan kepada argumen nama.
Sebagai contoh, kod berikut menggabungkan dua DataFrames di sepanjang baris, menggunakan MultiIndex dengan dua peringkat:
<code class="python">df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]}) df = pd.concat([df1, df2], keys=['df1', 'df2'], names=['level1', 'level2']) print(df) level1 level2 A B C D 0 df1 1 1 3 5 7 1 df1 2 2 4 6 8</code>
Dalam contoh ini, argumen nama ialah senarai dua rentetan: ['level1', 'level2']. Ini memberikan nama 'level1' dan 'level2' kepada tahap pertama dan kedua MultiIndex, masing-masing.
Atas ialah kandungan terperinci Bagaimanakah argumen \'levels\', \'keys\' dan \'name\' dalam Pandas\' berfungsi untuk mencipta MultiIndex?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!