iterasi di atas dataframe pandas menggunakan itertuples

Saya sedang melakukan iterasi pada dataframe pandas menggunakan itertuples. Saya juga ingin menangkap nomor baris saat iterasi:

for row in df.itertuples():
    print row['name']

Keluaran yang diharapkan:

1 larry
2 barry
3 michael

1, 2, 3 adalah nomor baris. Saya ingin menghindari penggunaan counter dan mendapatkan nomor baris. Apakah ada cara mudah untuk mencapai hal ini menggunakan pandas?

Larutan

Ketika menggunakan itertuples, Anda akan mendapatkan tuple yang bernama untuk setiap baris. Secara default, Anda dapat mengakses nilai indeks untuk baris tersebut dengan row.Index.

Jika nilai indeks bukan yang Anda cari maka Anda dapat menggunakan enumerate

for i, row in enumerate(df.itertuples(), 1):
    print(i, row.name)

enumerate menggantikan konstruksi penghitung yang jelek

Komentar (2)
for row in df.itertuples():
    print(getattr(row, 'Index'), getattr(row, 'name'))
Komentar (1)