Bagaimana Anda menambahkan kolom ke bingkai data untuk loop di python?

Ini menghasilkan iterator yang dapat digunakan untuk mengulangi semua kolom kerangka data. Untuk setiap kolom dalam Dataframe mengembalikan sebuah iterator ke tuple yang berisi nama kolom dan isi kolom sebagai seri

Misalkan, kami menggunakan daftar elemen dan mengulanginya dan kami ingin membuat DataFrame dengan melakukan beberapa operasi pada elemen-elemen ini dan ingin menambahkan nilai-nilai ini dalam DataFrame. Jika kita menambahkan setiap nilai secara langsung di dalam loop, itu akan menimpa nilai sebelumnya dan hanya nilai terakhir yang akan ditambahkan ke DataFrame

Untuk menambahkan panda DataFrame yang dihasilkan dalam for a loop, pertama-tama kita akan membuat daftar kosong dan kemudian di dalam loop, kita akan menambahkan nilai yang dimodifikasi di dalam daftar kosong ini, dan terakhir, di luar loop, kita akan menggabungkan semua nilai dari

Untuk bekerja dengan panda, kita perlu mengimpor paket panda terlebih dahulu, di bawah ini adalah sintaksnya

import pandas as pd

Mari kita pahami dengan bantuan sebuah contoh,

Kode python untuk menambahkan panda DataFrames dihasilkan dalam for loop

# Importing pandas package
import pandas as pd

# Creating a List of some values
list = ['Pranit','Mark','Jhon','Tony']

# Defining an empty list
list_2 = []

# Generating new values inside a for loop
for value in list:
    dataframe_values = 'Mr. '+value

    # Appending this new value in new list
    list_2.append(dataframe_values)

# Finally concatenating all the values to 
# create DataFrame
df = pd.DataFrame(list_2, columns=['Name'],index=['A','B','C','D'])

# Display DataFrame
print("Created DataFrame:\n",df,"\n")
_

Keluaran

Bagaimana Anda menambahkan kolom ke bingkai data untuk loop di python?

Program Python Panda »


(Jika kita mengasumsikan suhu 25 derajat Celcius dan tekanan 1013 hPa, faktor konversinya adalah 1. 882)

In [4]: air_quality["london_mg_per_cubic"] = air_quality["station_london"] * 1.882

In [5]: air_quality.head()
Out[5]: 
                     station_antwerp  ..  london_mg_per_cubic
datetime                              ..                     
2019-05-07 02:00:00              NaN  ..               43.286
2019-05-07 03:00:00             50.5  ..               35.758
2019-05-07 04:00:00             45.0  ..               35.758
2019-05-07 05:00:00              NaN  ..               30.112
2019-05-07 06:00:00              NaN  ..                  NaN

[5 rows x 4 columns]

Untuk membuat kolom baru, gunakan tanda kurung [] dengan nama kolom baru di sisi kiri tugas

Catatan

Perhitungan nilai dilakukan berdasarkan elemen. Ini berarti semua nilai dalam kolom yang diberikan dikalikan dengan nilai 1. 882 sekaligus. Anda tidak perlu menggunakan loop untuk mengulangi setiap baris

  • Saya ingin memeriksa rasio nilai di Paris versus Antwerpen dan menyimpan hasilnya di kolom baru

    In [6]: air_quality["ratio_paris_antwerp"] = (
       ...:     air_quality["station_paris"] / air_quality["station_antwerp"]
       ...: )
       ...: 
    
    In [7]: air_quality.head()
    Out[7]: 
                         station_antwerp  ..  ratio_paris_antwerp
    datetime                              ..                     
    2019-05-07 02:00:00              NaN  ..                  NaN
    2019-05-07 03:00:00             50.5  ..             0.495050
    2019-05-07 04:00:00             45.0  ..             0.615556
    2019-05-07 05:00:00              NaN  ..                  NaN
    2019-05-07 06:00:00              NaN  ..                  NaN
    
    [5 rows x 5 columns]
    

    Penghitungannya sekali lagi berdasarkan elemen, sehingga / diterapkan untuk nilai di setiap baris

Juga operator matematika lainnya (

In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
0,
In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
1,
In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
2, /,…) atau operator logika (
In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
4,
In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
5,
In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
6,…) bekerja berdasarkan elemen. Yang terakhir sudah digunakan untuk memfilter baris tabel menggunakan ekspresi bersyarat

Jika Anda memerlukan logika yang lebih canggih, Anda dapat menggunakan kode Python arbitrer via

  • Saya ingin mengganti nama kolom data menjadi pengidentifikasi stasiun terkait yang digunakan oleh OpenAQ

    In [8]: air_quality_renamed = air_quality.rename(
       ...:     columns={
       ...:         "station_antwerp": "BETR801",
       ...:         "station_paris": "FR04014",
       ...:         "station_london": "London Westminster",
       ...:     }
       ...: )
       ...: 
    

    In [9]: air_quality_renamed.head()
    Out[9]: 
                         BETR801  FR04014  ..  london_mg_per_cubic  ratio_paris_antwerp
    datetime                               ..                                          
    2019-05-07 02:00:00      NaN      NaN  ..               43.286                  NaN
    2019-05-07 03:00:00     50.5     25.0  ..               35.758             0.495050
    2019-05-07 04:00:00     45.0     27.7  ..               35.758             0.615556
    2019-05-07 05:00:00      NaN     50.4  ..               30.112                  NaN
    2019-05-07 06:00:00      NaN     61.9  ..                  NaN                  NaN
    
    [5 rows x 5 columns]
    

    Fungsi ini dapat digunakan untuk label baris dan label kolom. Berikan kamus dengan kunci nama saat ini dan nilai nama baru untuk memperbarui nama yang sesuai

Pemetaan tidak boleh dibatasi hanya untuk nama tetap, tetapi juga bisa menjadi fungsi pemetaan. Misalnya, mengonversi nama kolom menjadi huruf kecil juga dapat dilakukan dengan menggunakan fungsi

In [10]: air_quality_renamed = air_quality_renamed.rename(columns=str.lower)

In [11]: air_quality_renamed.head()
Out[11]: 
                     betr801  fr04014  ..  london_mg_per_cubic  ratio_paris_antwerp
datetime                               ..                                          
2019-05-07 02:00:00      NaN      NaN  ..               43.286                  NaN
2019-05-07 03:00:00     50.5     25.0  ..               35.758             0.495050
2019-05-07 04:00:00     45.0     27.7  ..               35.758             0.615556
2019-05-07 05:00:00      NaN     50.4  ..               30.112                  NaN
2019-05-07 06:00:00      NaN     61.9  ..                  NaN                  NaN

[5 rows x 5 columns]

Ke panduan pengguna

Detail tentang penggantian nama label kolom atau baris disediakan di bagian panduan pengguna

INGAT

  • Buat kolom baru dengan menetapkan output ke DataFrame dengan nama kolom baru di antara []

    Bagaimana cara menambahkan kolom ke DataFrame dengan Python dalam for loop?

    Langkah 1 - Impor perpustakaan. impor panda sebagai pd. .
    Langkah 2 - Siapkan Data. df=pd. DataFrame({'Tabel 9'. [9,18,27], 'Tabel 10'. [10,20,30]}).
    Langkah 3 - Menambahkan bingkai data dalam for loop. untuk saya dalam rentang (4,11). df=df. tambahkan({'Tabel 9'. i*9,'Tabel 10'. i*10},ignore_index=True).
    Langkah 4 - Mencetak hasil. cetak('df\n',df)

    Bagaimana cara menambahkan kolom ke loop di DataFrame?

    Menambahkan kolom baru sebenarnya diperlukan untuk memproses data dari kerangka data yang dibuat sebelumnya. Untuk itu, kita dapat mengolah data yang ada dan membuat kolom tersendiri untuk menyimpan data tersebut. Cara termudah untuk menambahkan kolom baru beserta datanya adalah dengan membuat kolom baru dan menetapkan nilai baru padanya .

    Bagaimana cara menambahkan kolom ke DataFrame dengan Python?

    Berikut adalah dua perintah yang dapat digunakan. .
    Gunakan perintah Dataframe join untuk menambahkan kolom
    Gunakan perintah Pandas concat untuk menambahkan kolom
    Kedua metode tersebut dapat digunakan untuk menggabungkan beberapa kolom dari bingkai data yang berbeda dan membuat satu bingkai data

    Bagaimana cara menambahkan kolom ke bingkai data berdasarkan suatu kondisi?

    Langkah 1 - Impor perpustakaan. impor panda sebagai pd impor numpy sebagai np. .
    Langkah 2 - Membuat Contoh Dataset. Di sini kami telah membuat Dataframe dengan kolom 'bond_name' dan 'risk_score'. .
    Langkah 3 - Membuat fungsi untuk menetapkan nilai dalam kolom. .
    Langkah 5 - Mengubah daftar menjadi kolom kumpulan data dan melihat kumpulan data akhir