Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Mengulang Baris dalam Bingkai Data Pandas dengan Cekap?

Bagaimanakah Saya Mengulang Baris dalam Bingkai Data Pandas dengan Cekap?

Barbara Streisand
Barbara Streisandasal
2024-12-23 20:37:11291semak imbas

How Do I Iterate Over Rows in a Pandas DataFrame Efficiently?

Meletup Melewati Baris dalam Pandas DataFrame

Meletup pada baris dalam Pandas DataFrame membolehkan anda mengakses baris individu dan elemennya. Untuk mencapai matlamat ini, Pandas menyediakan dua kaedah yang biasa digunakan: DataFrame.iterrows dan DataFrame.T.iteritems().

DataFrame.iterrows:

DataFrame.iterrows ialah penjana yang menghasilkan kedua-dua indeks baris dan baris itu sendiri diwakili sebagai Siri Panda. Coretan kod berikut menunjukkan penggunaannya:

import pandas as pd
df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})

for index, row in df.iterrows():
    print(row['c1'], row['c2'])

Ini akan menghasilkan:

10 100
11 110
12 120

DataFrame.T.iteritems():

DataFrame.T.iteritems() berulang pada lajur DataFrame. Memindahkan DataFrame menggunakan .T dan menggunakan .iteritems() menghasilkan kedua-dua nama lajur dan baris sebagai Siri. Ambil perhatian bahawa pendekatan ini secara amnya kurang cekap berbanding iterrow:

for column_name, row in df.T.iteritems():
    print(column_name, row['c1'], row['c2'])

Ini akan menghasilkan:

c1 10 11 12
c2 100 110 120

Pertimbangan Prestasi:

Lelaran berakhir objek panda biasanya lebih perlahan daripada operasi vektor atau aplikasi fungsi menggunakan kaedah apply(). Jika prestasi adalah penting, pertimbangkan untuk menggunakan cython atau numba untuk meningkatkan prestasi operasi berulang.

Atas ialah kandungan terperinci Bagaimanakah Saya Mengulang Baris dalam Bingkai Data Pandas dengan Cekap?. 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