Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Memilih Baris DataFrame Antara Dua Nilai dalam Python dengan panda?

Bagaimana untuk Memilih Baris DataFrame Antara Dua Nilai dalam Python dengan panda?

DDD
DDDasal
2024-12-02 18:20:12185semak imbas

How to Select DataFrame Rows Between Two Values in Python with pandas?

Memilih Baris dalam DataFrame antara Dua Nilai dengan panda Python

Apabila bekerja dengan rangka kerja analisis data seperti panda, selalunya perlu menapis baris berdasarkan kriteria tertentu. Satu tugas biasa ialah memilih baris yang lajur tertentu berada dalam julat nilai yang ditentukan.

Dalam kes anda, anda cuba menapis DataFrame (df) untuk memasukkan baris dengan nilai closing_price antara 99 dan 101 . Walau bagaimanapun, anda menghadapi ralat:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

Ralat ini berpunca daripada ungkapan yang anda gunakan untuk pemilihan baris:

df[99 <= df['closing_price'] <= 101]

Untuk menangani ralat ini, anda boleh memanfaatkan kaedah antara yang disediakan oleh panda. Kaedah ini membolehkan anda menapis DataFrame berdasarkan sama ada lajur yang ditentukan memenuhi julat tertentu.

Begini cara anda boleh menyemak kod anda menggunakan antara:

df = df[df['closing_price'].between(99, 101)]

Dalam kod yang diubah suai ini:

  • df['closing_price'].antara(99, 101) mencipta Siri Boolean yang mengenal pasti baris yang nilai harga_tutup jatuh antara 99 dan 101 (termasuk).
  • df[ menapis DataFrame (df) asal berdasarkan Siri Boolean yang dijana oleh antara. Hanya baris dengan nilai True dalam Siri Boolean disertakan dalam DataFrame yang ditapis.

Pendekatan ini menyelesaikan isu kekaburan dan memilih baris dengan cekap dalam julat yang ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris DataFrame Antara Dua Nilai dalam Python dengan 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