Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggantikan Nilai Khusus dalam Lajur Pandas DataFrame Berdasarkan Syarat?

Bagaimana untuk Menggantikan Nilai Khusus dalam Lajur Pandas DataFrame Berdasarkan Syarat?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-02 20:41:02138semak imbas

How to Replace Specific Values in a Pandas DataFrame Column Based on Conditions?

Pandas DataFrame: Sasaran Penggantian Nilai Berdasarkan Syarat

Dalam Panda, selalunya perlu mengubah suai nilai tertentu dalam DataFrame berdasarkan kriteria tertentu . Walaupun pendekatan biasa ialah menggunakan loc untuk memilih baris, adalah penting untuk memahami cara menyasarkan lajur tertentu dengan tepat untuk pengubahsuaian nilai.

Pertimbangkan DataFrame berikut, di mana kami ingin menggantikan nilai dalam 'Musim Pertama' lajur yang melebihi 1990 dengan integer 1:

                 Team  First Season  Total Games
0      Dallas Cowboys          1960          894
1       Chicago Bears          1920         1357
2   Green Bay Packers          1921         1339
3      Miami Dolphins          1966          792
4    Baltimore Ravens          1996          326
5  San Franciso 49ers          1950         1003

Percubaan awal hanya menggunakan fungsi loc mengakibatkan menggantikan semua nilai dalam baris yang dipilih dan bukannya lajur yang disasarkan semata-mata. Untuk membetulkan perkara ini, kita perlu menyatakan secara eksplisit lajur 'Musim Pertama' sebagai hujah kedua untuk menempatkan:

df.loc[df['First Season'] > 1990, 'First Season'] = 1

Pendekatan sasaran ini memastikan bahawa hanya nilai dalam lajur 'Musim Pertama' memenuhi syarat adalah digantikan dengan 1, menjadikan lajur lain tidak terjejas.

                 Team  First Season  Total Games
0      Dallas Cowboys          1960          894
1       Chicago Bears          1920         1357
2   Green Bay Packers          1921         1339
3      Miami Dolphins          1966          792
4    Baltimore Ravens             1          326
5  San Franciso 49ers          1950         1003

Sebagai alternatif, jika hasil yang diingini ialah penunjuk boolean, anda boleh menggunakan syarat untuk mencipta Siri boolean dan menukarnya kepada integer, di mana Betul dan Salah terjemahkan kepada 1 dan 0, masing-masing:

df['First Season'] = (df['First Season'] > 1990).astype(int)

Pendekatan ini menghasilkan DataFrame dengan nilai yang dikemas kini:

                 Team  First Season  Total Games
0      Dallas Cowboys             0          894
1       Chicago Bears             0         1357
2   Green Bay Packers             0         1339
3      Miami Dolphins             0          792
4    Baltimore Ravens             1          326
5  San Franciso 49ers             0         1003

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Nilai Khusus dalam Lajur Pandas DataFrame Berdasarkan Syarat?. 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