Pandas- dataframe ကော်လံအားလုံးတွင် စာကြောင်းတစ်ကြောင်းကို ရှာဖွေပါ။


သင်သည် pandas DataFrame ကော်လံတစ်ခုစီရှိ သီးခြားစာကြောင်းတစ်ခုကို ရှာဖွေရန်နှင့် အနည်းဆုံး ကော်လံတစ်ခုရှိ စာကြောင်းပါရှိသော အတန်းများအတွက် စစ်ထုတ်ရန် အောက်ပါ syntax ကို အသုံးပြုနိုင်သည်။

 #define filter
mask = np. column_stack ([df[col]. str . contains (r " my_string ", na= False ) for col in df])

#filter for rows where any column contains 'my_string'
df. loc [mask. any (axis= 1 )]

အောက်ဖော်ပြပါ ဥပမာသည် ဤ syntax ကို လက်တွေ့တွင် မည်သို့အသုံးပြုရမည်ကို ပြသထားသည်။

ဥပမာ- Pandas DataFrame ကော်လံအားလုံးတွင် စာကြောင်းတစ်ကြောင်းကို ရှာဖွေပါ။

အဖွဲ့တစ်ဖွဲ့ရှိ ဘတ်စကတ်ဘောကစားသမားအမျိုးမျိုး၏ ပထမအခန်းကဏ္ဍနှင့် ဒုတိယအခန်းကဏ္ဍအကြောင်း အချက်အလက်များပါရှိသော အောက်ပါပန်ဒါ DataFrame ရှိသည်ဆိုပါစို့။

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' first_role ': ['P Guard', 'P Guard', 'S Guard', 'S Forward',
                                  'P Forward', 'Center', 'Center', 'Center'],
                   ' second_role ': ['S Guard', 'S Guard', 'Forward', 'S Guard',
                                   'S Guard', 'S Forward', 'P Forward', 'P Forward']})

#view DataFrame
print (df)

  player first_role second_role
0 AP Guard S Guard
1 BP Guard S Guard
2 CS Guard Forward
3DS Forward S Guard
4 EP Forward S Guard
5 F Center S Forward
6 G Center P Forward
7 H Center P Forward

အောက်ပါကုဒ်သည် မည်သည့်ကော်လံတွင်မဆို “ Guard” ဟူသော စာကြောင်းပါသည့် အတန်းအတွက် ပန်ဒါ DataFrame ကို စစ်ထုတ်နည်းကို ပြသသည်-

 import numpy as np

#define filter
mask = np. column_stack ([df[col]. str . contains (r " Guard ", na= False ) for col in df])

#filter for rows where any column contains 'Guard'
df. loc [mask. any (axis= 1 )]

        player first_role second_role
0 A P Guard S Guard
1 B P Guard S Guard
2 C S Guard Forward
3 D S Forward S Guard
4 E P Forward S Guard

ရလဒ် DataFrame ၏အတန်းတစ်ခုစီတွင် အနည်းဆုံးကော်လံတစ်ခုတွင် “ Guard” စာကြောင်းပါရှိသည်။

ပန်ဒါများတွင် “ OR” အော်ပရေတာ ( | ) ကို အသုံးပြုခြင်းဖြင့် အနည်းဆုံး ကော်လံတစ်ခုတွင် လိုင်းများစွာမှ တစ်ခုပေါ်လာသည့် အတန်းများကို စစ်ထုတ်နိုင်သည်။

ဥပမာအားဖြင့်၊ အောက်ပါကုဒ်သည် အနည်းဆုံး ကော်လံတစ်ခုတွင် “ P Guard” သို့မဟုတ် “ Center” ပေါ်လာသည့် အတန်းများကို စစ်ထုတ်နည်းကို ပြသသည်-

 import numpy as np

#define filter
mask = np. column_stack ([df[col]. str . contains (r " P Guard|Center ", na= False ) for col in df])

#filter for rows where any column contains 'P Guard' or 'Center'
df. loc [mask. any (axis= 1 )]

        player first_role second_role
0 A P Guard S Guard
1 B P Guard S Guard
5 F Center S Forward
6 G Center P Forward
7 H Center P Forward

ရလဒ် DataFrame ရှိအတန်းတစ်ခုစီတွင် အနည်းဆုံးကော်လံတစ်ခုတွင် “ P Guard” သို့မဟုတ် “ Center” ပါဝင်သည်ကို သတိပြုပါ။

မှတ်ချက် – ဒေတာဘောင်တွင် NaN တန်ဖိုးများရှိနေပါက container() လုပ်ဆောင်ချက်တွင် na=False argument ကို ထည့်သွင်းရန် အရေးကြီးပါသည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် ပန်ဒါများတွင် အခြားသော ဘုံစစ်ထုတ်ခြင်း လုပ်ဆောင်ချက်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

ကော်လံတန်ဖိုးများဖြင့် Pandas DataFrame ကို စစ်ထုတ်နည်း
Pandas DataFrame အတန်းများကို ရက်စွဲအလိုက် စစ်ထုတ်နည်း
အခြေအနေများစွာတွင် Pandas DataFrame ကို စစ်ထုတ်နည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်