Pandas ရှိ dataframes နှစ်ခုကို နှိုင်းယှဉ်နည်း
ရံဖန်ရံခါ၊ သင်သည် ၎င်းတို့၏ တူညီမှုနှင့် ခြားနားချက်များကို သိရှိရန် Panda DataFrames နှစ်ခုကြားရှိ တန်ဖိုးများကို နှိုင်းယှဉ်ရန် စိတ်ဝင်စားပေမည်။
ဒီသင်ခန်းစာမှာ လုပ်နည်းကို ရှင်းပြထားပါတယ်။
ဥပမာ- Pandas ရှိ DataFrames နှစ်ခုကို နှိုင်းယှဉ်ခြင်း။
ကျွန်ုပ်တို့တွင် ဘတ်စကတ်ဘောကစားသမားလေးဦးတွင် ဒေတာတစ်ခုစီပါရှိသော အောက်ပါပန်ဒါဒေတာဘောင်နှစ်ခုရှိသည်ဆိုပါစို့။
import pandas as pd #define DataFrame 1 df1 = pd. DataFrame ({'player': ['A', 'B', 'C', 'D'], 'points': [12, 15, 17, 24], 'assists': [4, 6, 7, 8]}) df1 player points assists 0 to 12 4 1 B 15 6 2 C 17 7 3 D 24 88 #define DataFrame 2 df2 = pd. DataFrame ({'player': ['A', 'B', 'C', 'D'], 'points': [12, 24, 26, 29], 'assists': [7, 8, 10, 13]}) df2 player points assists 0 to 12 7 1 B 24 8 2 C 26 10 3 D 29 13
ဥပမာ 1- DataFrames နှစ်ခု အတူတူလားဆိုတာ ရှာကြည့်ပါ။
DataFrame.equals() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ DataFrame နှစ်ခုသည် တူညီခြင်းရှိမရှိကို ဦးစွာရှာဖွေနိုင်သည်-
#see if two DataFrames are identical df1. equals (df2) False
DataFrames နှစ်ခုတွင် တူညီသောတန်ဖိုးများမပါဝင်သောကြောင့် ဤလုပ်ဆောင်ချက်သည် False ကို မှန်ကန်စွာပြန်ပို့ပေးပါသည်။
ဥပမာ 2- DataFrames နှစ်ခုကြားရှိ player stats ကွာခြားချက်ကို ရှာပါ။
pandas နုတ်() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ကစားသမားတစ်ဦးစီ၏ ပံ့ပိုးကူညီမှုနှင့် အမှတ်များကြား ကွာခြားချက်ကို ကျွန်ုပ်တို့ ရှာဖွေနိုင်သည်-
#subtract df1 from df2 df2. set_index ('player'). subtract (df1.set_index('player')) assist points player At 0 3 B 9 2 C 9 3 D 5 5
ဤသည်ကို အဓိပ္ပာယ်ဖွင့်ဆိုရန် နည်းလမ်းမှာ-
- ကစားသမား A သည် DataFrames နှစ်ခုလုံးတွင် အမှတ်တူညီသော်လည်း DataFrame 2 တွင် နောက်ထပ် ပံ့ပိုးမှု 3 ခုရှိသည်။
- Player B သည် DataFrame 1 နှင့် နှိုင်းယှဉ်ပါက DataFrame 2 တွင် နောက်ထပ် 9 မှတ်နှင့် ပံ့ပိုးမှု 2 ခု ထပ်မံရရှိသည်။
- Player C သည် DataFrame 1 နှင့် နှိုင်းယှဉ်ပါက DataFrame 2 တွင် နောက်ထပ် 9 မှတ်နှင့် 3 ကြိမ် ပံ့ပိုးမှု ပိုများပါသည်။
- Player D သည် DataFrame 1 နှင့် နှိုင်းယှဉ်ပါက DataFrame 2 တွင် နောက်ထပ် 5 မှတ်နှင့် 5 ကြိမ် ပံ့ပိုးမှု ပိုများပါသည်။
ဥပမာ 3- DataFrame တစ်ခုတည်းတွင်သာရှိသော အတန်းအားလုံးကိုရှာပါ။
DataFrame တစ်ခုတည်းတွင်သာ ပေါ်လာသည့် အတန်းများစာရင်း အပြည့်အစုံကို ရရှိရန် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်ပါသည်။
#outer merge the two DataFrames, adding an indicator column called 'Exist' diff_df = pd. merge (df1, df2, how=' outer ', indicator=' Exist ') #find which rows don't exist in both DataFrames diff_df = diff_df. loc [diff_df[' Exist '] != ' both '] diff_df player points assists Exist 0 A 12 4 left_only 1 B 15 6 left_only 2 C 17 7 left_only 3 D 24 8 left_only 4 A 12 7 right_only 5 B 24 8 right_only 6 C 26 10 right_only 7 D 29 13 right_only
ဤကိစ္စတွင်၊ DataFrames နှစ်ခုသည် တူညီသောအတန်းများကို မမျှဝေသောကြောင့် DataFrames တစ်ခုတွင်သာပေါ်လာသော စုစုပေါင်းအတန်း 8 တန်းရှိပါသည်။
“Exist” ဟု တံဆိပ်တပ်ထားသော ကော်လံသည် အတန်းတစ်ခုစီတွင် မည်သည့် DataFrame တွင် ထူးခြားစွာ ပေါ်လာသည်ကို အဆင်ပြေစွာ ပြောပြသည်။