Pandas dataframe ကို ကော်ပီလုပ်နည်း (နှင့် ဘာကြောင့်)


သင် pandas DataFrame ၏ အစုခွဲတစ်ခုကို ဖန်တီးပြီး အစုခွဲကို မွမ်းမံသည့်အခါတိုင်း၊ မူရင်း DataFrame ကိုလည်း ပြုပြင်မွမ်းမံမည်ဖြစ်သည်။

ဤအကြောင်းကြောင့်၊ subset လုပ်သည့်အခါတွင် .copy() ကို အသုံးပြုခြင်းသည် အမြဲတမ်းကောင်းမွန်သော အိုင်ဒီယာဖြစ်ပြီး၊ သို့မှသာ အစုခွဲသို့ သင်ပြုလုပ်သော အပြောင်းအလဲများကို မူရင်း DataFrame တွင် မပြုလုပ်ရပါ။

အောက်ပါနမူနာများသည် ပန်ဒါ DataFrame တစ်ခု၏ မိတ္တူကို မည်သို့ (နှင့် အဘယ်ကြောင့်) ပြုလုပ်ရမည်ကို ဖော်ပြသည်။

ဥပမာ 1- မိတ္တူမပါဘဲ DataFrame ကို ခွဲထည့်ခြင်း။

ကျွန်ုပ်တို့တွင် အောက်ပါ ပန်ဒါ DataFrame ရှိသည် ဆိုပါစို့။

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]})

#view DataFrame
print (df)

  team points assists
0 to 18 5
1 B 22 7
2 C 19 7
3 D 14 9
4 E 14 12
5 F 11 9
6 G 20 9
7:28 a.m. 4

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

 #define subsetted DataFrame
df_subset = df[0:4]

#view subsetted DataFrame
print (df_subset)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6

အစုခွဲရှိ တန်ဖိုးများကို ကျွန်ုပ်တို့ပြောင်းလဲပါက၊ မူရင်း DataFrame ၏တန်ဖိုးကိုလည်း ပြောင်းလဲလိမ့်မည်-

 #change first value in team column
df_subset. team [0] = ' X '

#view subsetted DataFrame
print (df_subset)

  team points assists
0X18 5
1 B 22 7
2 C 19 7
3 D 14 9

#view original DataFrame
print (df)

  team points assists
0X18 5
1 B 22 7
2 C 19 7
3 D 14 9
4 E 14 12
5 F 11 9
6 G 20 9
7:28 a.m. 4

အဖွဲ့ကော်လံ၏ ပထမတန်ဖိုးကို “ A” မှ “ X” သို့ ဒေတာဘောင် နှင့် မူရင်းဒေတာဘောင်နှစ်ခုလုံးတွင် ပြောင်းထားကြောင်း သတိပြုပါ။

ကျွန်ုပ်တို့သည် မူရင်း DataFrame ၏ မိတ္တူကို မပြုလုပ်သောကြောင့်ဖြစ်သည်။

ဥပမာ 2- Copy ဖြင့် DataFrame ကို ခွဲထည့်ခြင်း။

ကျွန်ုပ်တို့တွင် အောက်ပါ ပန်ဒါ DataFrame ရှိသည် ဟု ထပ်မံယူဆကြပါစို့။

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]})

#view DataFrame
print (df)

  team points assists
0 to 18 5
1 B 22 7
2 C 19 7
3 D 14 9
4 E 14 12
5 F 11 9
6 G 20 9
7:28 a.m. 4

မူရင်း DataFrame ၏ ပထမတန်း လေးတန်းသာ ပါဝင်သည့် အပိုင်းခွဲတစ်ခုကို ဖန်တီးသည်ဟု ထပ်မံယူဆကြပါစို့၊ သို့သော် ယခုတစ်ကြိမ်တွင် မူရင်း DataFrame ၏ မိတ္တူကူးရန် .copy() ကို အသုံးပြုသည်-

 #define subsetted DataFrame
df_subset = df[0:4]. copy ()

ယခု DataFrame ခွဲဆက်၏ အဖွဲ့ကော်လံ၏ ပထမတန်ဖိုးကို ပြောင်းသည်ဆိုပါစို့။

 #change first value in team column
df_subset. team [0] = ' X '

#view subsetted DataFrame
print (df_subset)

  team points assists
0X18 5
1 B 22 7
2 C 19 7
3 D 14 9

#view original DataFrame
print (df)

  team points assists
0 to 18 5
1 B 22 7
2 C 19 7
3 D 14 9
4 E 14 12
5 F 11 9
6 G 20 9
7:28 a.m. 4

အဖွဲ့ကော်လံ၏ ပထမတန်ဖိုးကို “ A” မှ “ X” သို့ DataFrame အတွဲခွဲတွင်သာ ပြောင်းထားကြောင်း သတိပြုပါ။

အစုခွဲကိုဖန်တီးသောအခါ .copy() ကို မိတ္တူပြုလုပ်ရန် ကျွန်ုပ်တို့အသုံးပြုခဲ့သောကြောင့် မူရင်း DataFrame သည် နဂိုအတိုင်း ကျန်ရှိနေပါသည်။

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

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

အခြေအနေပေါ်အခြေခံ၍ Pandas DataFrame ရှိအတန်းများကို ဖျက်နည်း
အခြေအနေများစွာတွင် Pandas DataFrame ကို စစ်ထုတ်နည်း
Pandas DataFrame တွင် “ မဝင်ပါ” စစ်ထုတ်နည်းကို အသုံးပြုနည်း

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

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