Bagaimana cara mengekstrak banyak baris dari kerangka data dengan python?

Anda dapat memilih Baris dari Pandas DataFrame berdasarkan nilai kolom atau berdasarkan beberapa kondisi menggunakan DataFrame. loc[] atribut, DataFrame. query() atau DataFrame. apply() metode untuk menggunakan fungsi lambda. Pada artikel ini, saya akan menjelaskan cara memilih baris berdasarkan nilai kolom tunggal atau ganda (nilai dari daftar) dan juga cara memilih baris yang tidak memiliki nilai


df2=df[df["Courses"] == 'Spark'] 
print(df2)
2 atau

df2=df[df["Courses"] == 'Spark'] 
print(df2)
3

1. Contoh Cepat Pilih Baris Berdasarkan Nilai Kolom

Jika Anda sedang terburu-buru, berikut beberapa contoh cara memilih baris berdasarkan nilai kolom di pandas DataFrame


# Select Rows Based on column Values
df[df["Courses"] == 'Spark'] 
df.loc[df['Courses'] == value]
df.query("Courses == 'Spark'")
df.loc[df['Courses'] != 'Spark']
df.loc[df['Courses'].isin(values)]
df.loc[~df['Courses'].isin(values)]

# Select Multiple Conditions using Multiple Columns
df.loc[(df['Discount'] >= 1000) & (df['Discount'] <= 2000)]
df.loc[(df['Discount'] >= 1200) & (df['Fee'] >= 23000 )]

# Using lambda function
df.apply(lambda row: row[df['Courses'].isin(['Spark','PySpark'])])

# Select columns that have no None & nana values
df.dropna()

# Other examples
df[df['Courses'].str.contains("Spark")]
df[df['Courses'].str.lower().str.contains("spark")]
df[df['Courses'].str.startswith("P")]

Jika Anda seorang pembelajar, Mari kita lihat dengan contoh data dan jalankan melalui contoh-contoh ini dan jelajahi hasilnya untuk memahami dengan lebih baik. Pertama, buat panda DataFrame dari Dict


import pandas as pd
import numpy as np

technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame(technologies)
print(df)

Perhatikan bahwa DataFrame di atas juga berisi


df2=df[df["Courses"] == 'Spark'] 
print(df2)
2 dan

df2=df[df["Courses"] == 'Spark'] 
print(df2)
3 nilai pada kolom

df2=df[df["Courses"] == 'Spark'] 
print(df2)
6 yang akan saya gunakan dalam contoh saya di bawah ini untuk memilih baris yang memiliki nilai Tidak ada & Nan atau memilih mengabaikan ini

2. Pilih Baris Berdasarkan Nilai Kolom

Anda dapat menggunakan


df2=df[df["Courses"] == 'Spark'] 
print(df2)
_7untuk memilih baris. Bukan berarti ekspresi ini mengembalikan DataFrame baru dengan baris yang dipilih


df2=df[df["Courses"] == 'Spark'] 
print(df2)

Hasil di bawah output


  Courses    Fee Duration  Discount
0   Spark  22000   30days      1000
_

Anda juga dapat menulis pernyataan di atas dengan variabel


value="Spark"
df2=df[df["Courses"] == value] 

Jika Anda ingin memilih berdasarkan nilai kolom tidak sama maka gunakan operator


df2=df[df["Courses"] == 'Spark'] 
print(df2)
8.

df2=df[df["Courses"] == 'Spark'] 
print(df2)
_9


df[df["Courses"] != 'Spark']

3. Menggunakan Courses Fee Duration Discount 0 Spark 22000 30days 1000 _0

Menggunakan metode query() Anda dapat memfilter baris Pandas DataFrame menggunakan ekspresi, di bawah ini adalah contoh sederhana. Anda dapat menggunakan query() cukup banyak untuk menjalankan contoh apa pun yang dijelaskan dalam artikel ini


df2=df.query("Courses == 'Spark'")
print(df2)

Menghasilkan output yang sama seperti di atas. Anda juga dapat mencoba contoh lain yang dijelaskan di atas dengan pendekatan ini

4. Menggunakan Courses Fee Duration Discount 0 Spark 22000 30days 1000 _1 untuk memilih berdasarkan Nilai Kolom

Dengan menggunakan


  Courses    Fee Duration  Discount
0   Spark  22000   30days      1000
_2


df2=df.loc[df['Courses'] == "Spark"]
print(df2)

Menghasilkan output yang sama seperti di atas. Anda juga dapat mencoba contoh lain yang dijelaskan di atas dengan pendekatan ini

5. Pilih Baris Berdasarkan Daftar Nilai Kolom

Jika Anda memiliki nilai dalam daftar dan ingin memilih baris berdasarkan daftar nilai, gunakan metode


  Courses    Fee Duration  Discount
0   Spark  22000   30days      1000
3


# Select Rows Based on List of Column Values
values=["Spark","PySpark"]
print(df[df["Courses"].isin(values)] )
# Using df.loc
print(df.loc[df['Courses'].isin(values)]) 

Hasil di bawah output


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300

Memilih baris dari yang tidak ada dalam daftar nilai kolom dapat dilakukan dengan menggunakan


  Courses    Fee Duration  Discount
0   Spark  22000   30days      1000
4


import pandas as pd
import numpy as np

technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame(technologies)
print(df)
0

6. Menggunakan Beberapa Kondisi Kolom

Sebagian besar waktu kita perlu memilih baris berdasarkan beberapa ketentuan yang diterapkan pada banyak kolom, Anda dapat melakukannya di Pandas seperti di bawah ini. Perhatikan bahwa tanda kurung diperlukan untuk setiap ekspresi kondisi karena Python.


  Courses    Fee Duration  Discount
0   Spark  22000   30days      1000
5 operator mengikat lebih erat daripada 

  Courses    Fee Duration  Discount
0   Spark  22000   30days      1000
6 dan 

  Courses    Fee Duration  Discount
0   Spark  22000   30days      1000
7. tidak menggunakan tanda kurung akan memberikan hasil yang tidak diharapkan


import pandas as pd
import numpy as np

technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame(technologies)
print(df)
1

Hasil di bawah output


import pandas as pd
import numpy as np

technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame(technologies)
print(df)
2

Anda juga dapat menggunakan banyak kolom untuk memilih baris Pandas DataFrame


import pandas as pd
import numpy as np

technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame(technologies)
print(df)
_3

Hasil di bawah output


import pandas as pd
import numpy as np

technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame(technologies)
print(df)
_4

7. Pilih Baris Menggunakan DataFrame. berlaku()

Bingkai Data. metode apply() digunakan untuk menerapkan fungsi lambda baris demi baris dan mengembalikan baris yang cocok dengan nilainya


import pandas as pd
import numpy as np

technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame(technologies)
print(df)
5

Hasil di bawah output


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300

8. Menggunakan With None dan nan Data

Jika Anda ingin membuang baris yang memiliki


df2=df[df["Courses"] == 'Spark'] 
print(df2)
2 atau

  Courses    Fee Duration  Discount
0   Spark  22000   30days      1000
9 pada nilai kolom, gunakan DataFrame. metode dropna()


import pandas as pd
import numpy as np

technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame(technologies)
print(df)
_7

Hasil di bawah output


import pandas as pd
import numpy as np

technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame(technologies)
print(df)
8

Jika Anda ingin menghapus kolom saat nilai kolom adalah


df2=df[df["Courses"] == 'Spark'] 
print(df2)
2 atau

  Courses    Fee Duration  Discount
0   Spark  22000   30days      1000
9. Untuk menghapus kolom, saya telah membahas beberapa contoh tentang cara menghapus kolom Pandas DataFrame


import pandas as pd
import numpy as np

technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame(technologies)
print(df)
_9

Hasil di bawah output


df2=df[df["Courses"] == 'Spark'] 
print(df2)
0

9. Contoh Lain dari Pilih Baris Berdasarkan Nilai Kolom


df2=df[df["Courses"] == 'Spark'] 
print(df2)
_1

Kesimpulan

Pada artikel ini, saya telah menjelaskan 10 contoh berbeda untuk memilih Pandas Rows berdasarkan nilai kolom. Ingat bahwa ketika Anda memilih Baris DataFrame, itu selalu mengembalikan DataFrame baru dengan baris yang dipilih. Saya harap artikel ini membantu Anda mempelajari Panda

Bagaimana cara memilih beberapa baris dalam DataFrame dengan Python?

loc Properti memungkinkan kita memilih baris berdasarkan nilai kolomnya . Di sini, poin utamanya adalah kita juga dapat memilih beberapa baris dengan bantuan properti loc. Saat memilih banyak baris, kita perlu menentukan jumlah baris bersama dengan nama kolom (kalau-kalau kita tidak membutuhkan semua kolom).

Bagaimana cara mengekstrak baris dari DataFrame dengan Python?

Langkah-langkah untuk Memilih Baris dari Pandas DataFrame .
Langkah 1. Kumpulkan data Anda. .
Langkah 2. Buat Bingkai Data. .
Langkah 3. Pilih Baris dari Pandas DataFrame. .
Contoh 1. Pilih baris yang harganya sama dengan atau lebih besar dari 10. .
Contoh 2. Pilih baris yang warnanya hijau DAN bentuknya persegi panjang

Bagaimana cara memilih beberapa baris dari kolom yang sama di panda?

Anda dapat memilih Baris dari Pandas DataFrame berdasarkan nilai kolom atau berdasarkan beberapa ketentuan menggunakan DataFrame. loc[], DataFrame. query() atau DataFrame. apply() metode untuk menggunakan fungsi lambda .

Bagaimana cara mendapatkan beberapa baris dari bingkai data?

Anda dapat menggunakan df. head() untuk mendapatkan N baris pertama di Pandas DataFrame. Alternatifnya, Anda dapat menentukan angka negatif di dalam tanda kurung untuk mendapatkan semua baris, tidak termasuk N baris terakhir.