Pandas- dataframes အတန်းနှစ်ခုကို အတန်းအလိုက် နှိုင်းယှဉ်နည်း
ပန်ဒါ DataFrames အတန်းနှစ်ခုကို အတန်းလိုက် နှိုင်းယှဉ်ရန် အောက်ပါနည်းလမ်းများကို သင်အသုံးပြုနိုင်ပါသည်။
နည်းလမ်း 1- ဒေတာဘောင်များကို နှိုင်းယှဉ်ပြီး ကွဲပြားမှုများဖြင့် အတန်းများကိုသာ ထားရှိပါ။
df_diff = df1. compare (df2, keep_equal= True , align_axis= 0 )
နည်းလမ်း 2- ဒေတာဘောင်များကို နှိုင်းယှဉ်ပြီး အတန်းအားလုံးကို သိမ်းဆည်းပါ။
df_diff = df1. compare (df2, keep_equal= True , keep_shape= True , align_axis= 0 )
အောက်ပါနမူနာများသည် အောက်ပါ pandas DataFrames ဖြင့် နည်းလမ်းတစ်ခုစီကို အသုံးပြုနည်းကို ပြသသည်-
import pandas as pd #create first DataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D'], ' points ': [18, 22, 19, 14], ' assists ': [5, 7, 7, 9]}) print (df1) team points assists 0 to 18 5 1 B 22 7 2 C 19 7 3 D 14 9 #create second DataFrame df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'E'], ' points ': [18, 30, 19, 20], ' assists ': [5, 7, 7, 9]}) print (df2) team points assists 0 to 18 5 1 B 30 7 2 C 19 7 3 E 20 9
ဥပမာ 1- DataFrames များကို နှိုင်းယှဉ်ပြီး မတူညီသောအတန်းများကိုသာ ထားရှိပါ။
အောက်ပါကုဒ်သည် DataFrames အတန်းနှစ်ခုကို အတန်းအလိုက် နှိုင်းယှဉ်ပြီး အနည်းဆုံး ကော်လံတစ်ခုတွင် ကွဲပြားသည့်အတန်းများကိုသာ ထားရှိပုံပြသသည်-
#compare DataFrames and only keep rows with differences
df_diff = df1. compare (df2, keep_equal= True , align_axis= 0 )
#view results
print (df_diff)
team points
1 coil B 22
other B 30
3 choke D 14
other E 20
DataFrames တွင် မတူညီသောအတန်းနှစ်ခုရှိသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။
အထူးသဖြင့်၊ DataFrame တစ်ခုစီ၏ အညွှန်းနေရာ 1 နှင့် 3 ရှိ အတန်းများသည် အနည်းဆုံး ကော်လံတစ်ခုတွင် မတူညီသော တန်ဖိုးများ ရှိနေသည်ကို ကျွန်ုပ်တို့ တွေ့နိုင်ပါသည်။
self line ရှိ တန်ဖိုးများသည် ပထမ DataFrame ၏ တန်ဖိုးများကို ပြသနေချိန်တွင် အခြားသော စာကြောင်းရှိ တန်ဖိုးများသည် ဒုတိယ DataFrame ၏ တန်ဖိုးများကို ပြသပါသည်။
ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့ မြင်နိုင်သည်-
- ပထမ DataFrame ၏ အညွှန်းအနေအထား 1 ရှိ အတန်းတွင် အဖွဲ့ကော်လံတွင် B နှင့် အမှတ်ကော်လံတွင် 22 ခု ပါရှိသည်။
- ဒုတိယ DataFrame ၏ အညွှန်းနေရာ 1 ရှိ အတန်းတွင် အဖွဲ့ကော်လံတွင် B နှင့် အမှတ်ကော်လံတွင် 30 ပါရှိသည်။
မှတ်ချက် – keep_equal=True argument သည် တန်ဖိုးများကို တန်းတူထားရန် ပန်ဒါများကို ပြောထားသည်။ မဟုတ်ပါက တန်းတူတန်ဖိုးများကို NaN အဖြစ် ပြသသည်။
ဥပမာ 2- ဒေတာဘောင်များကို နှိုင်းယှဉ်ပြီး အတန်းအားလုံးကို သိမ်းဆည်းပါ။
အောက်ပါကုဒ်သည် ဒေတာဘောင်နှစ်ခုကို အတန်းအလိုက် နှိုင်းယှဉ်ရန်နှင့် မူလဒေတာဘောင်များမှ အတန်းအားလုံးကို သိမ်းဆည်းရန် Keep_shape=True argument ကို အသုံးပြုနည်းကို ပြသသည်-
#compare DataFrames and keep all rows
df_diff = df1. compare (df2, keep_equal= True , keep_shape= True , align_axis= 0 )
#view results
print (df_diff)
team points assists
0 choke A 18 5
other A 18 5
1 coil B 22 7
other B 30 7
2 choke C 19 7
other C 19 7
3 choke D 14 9
other E 20 9
ရရှိလာသော DataFrame တွင် မူရင်း DataFrames ၏ အတန်းများနှင့် ကော်လံများ အားလုံးကို ပါရှိသည်။
မှတ်ချက် #1 : comparison() လုပ်ဆောင်ချက်သည် DataFrames နှစ်ခုတွင် တူညီသောအတိုင်းအတာရှိသည်ဟု ယူဆသည်။
မှတ်ချက် #2- pandas comparison() လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာတွေ့နိုင်ပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် ပန်ဒါများတွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
Pandas- ကော်လံနှစ်ခုကို နှိုင်းယှဉ်နည်း
Pandas- ကော်လံသုံးခုကို နှိုင်းယှဉ်နည်း
Pandas- မတူညီသော DataFrames နှစ်ခုရှိ ကော်လံများကို နှိုင်းယှဉ်နည်း