Rumah >pembangunan bahagian belakang >Tutorial Python >Cara Mengendalikan Ralat \'ValueError: tidak boleh mengindeks semula daripada paksi pendua\' dalam Panda

Cara Mengendalikan Ralat \'ValueError: tidak boleh mengindeks semula daripada paksi pendua\' dalam Panda

Susan Sarandon
Susan Sarandonasal
2024-10-23 17:51:01369semak imbas

How to Handle the

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!

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