Rumah >pembangunan bahagian belakang >Tutorial Python >Cara Mengendalikan Ralat \'ValueError: tidak boleh mengindeks semula daripada paksi pendua\' dalam Panda
Memahami Ralat: "ValueError: tidak boleh mengindeks semula daripada paksi pendua"
Dalam panda, "ValueError: tidak boleh mengindeks semula daripada pendua paksi" ditemui apabila cuba mengindeks semula atau menetapkan data sepanjang paksi yang mengandungi nilai pendua. Isu ini timbul apabila menyertai atau memberikan data pada lajur/baris yang mempunyai nilai indeks pendua.
Menggunakan Konsep pada Contoh
Dalam contoh yang disediakan, pengguna sedang cuba untuk menetapkan nilai indeks 'jumlah' kepada jumlah semua lajur dalam affinity_matrix DataFrame. Walau bagaimanapun, ralat dilemparkan kerana terdapat nilai pendua dalam affinity_matrix.columns, yang tidak dipaparkan dalam coretan kod yang diberikan.
Nilai pendua ini mewujudkan konflik apabila cuba mengindeks semula atau menetapkan data di sepanjang lajur paksi. Untuk menyelesaikan isu ini, seseorang perlu memastikan bahawa nilai indeks dalam DataFrame adalah unik sebelum melaksanakan operasi sedemikian.
Ujian dengan Contoh Ringkas
Mari kita gunakan yang dipermudahkan contoh untuk menggambarkan lagi ralat:
<code class="python">import pandas as pd import numpy as np a = np.arange(35).reshape(5, 7) df = pd.DataFrame(a, ['x', 'y', 'u', 'z', 'w'], range(10, 17)) df.loc['sums'] = df.sum(axis=0) # Assume that 'sums' is already an index value # This would result in the ValueError, as 'sums' is a duplicate index value</code>
Ralat berlaku kerana DataFrame 'df' sudah mempunyai nilai indeks 'sums' dalam baris dan cuba mencipta nilai indeks baharu dengan nama yang sama hasil dalam paksi pendua.
Kesimpulan
Ralat "ValueError: tidak boleh mengindeks semula daripada paksi pendua" berfungsi sebagai peringatan untuk memastikan keunikan nilai indeks dalam DataFrame. Kegagalan berbuat demikian boleh membawa kepada isu semasa menjalankan operasi sepanjang paksi tertentu, seperti pengindeksan semula atau memberikan data.
Atas ialah kandungan terperinci Cara Mengendalikan Ralat \'ValueError: tidak boleh mengindeks semula daripada paksi pendua\' dalam Panda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!