ပြုပြင်နည်း- တန်ဖိုးအမှား- အညွှန်းကိန်းတွင် ထပ်နေသောထည့်သွင်းမှုများပါရှိသည်၊ ပြန်လည်ပုံဖော်၍မရပါ။
ပန်ဒါများကို အသုံးပြုရာတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားတစ်ခုမှာ-
ValueError : Index contains duplicate entries, cannot reshape
pivot() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ pandas DataFrame ကို ပြန်လည်ပုံဖော်ရန် ကြိုးပမ်းသောအခါတွင် ဤအမှားသည် ပုံမှန်အားဖြင့် ဖြစ်ပေါ်တတ်သော်လည်း တူညီသောအညွှန်းတန်ဖိုးများကို မျှဝေသည့် ရလဒ် DataFrame တွင် တန်ဖိုးများစွာရှိပါသည်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့တွင် မည်သို့ပြုပြင်ရမည်ကို ပြသထားသည်။
အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။
ကျွန်ုပ်တို့တွင် အောက်ပါ ပန်ဒါ DataFrame ရှိသည် ဆိုပါစို့။
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [5, 7, 7, 9, 4, 9, 9, 12]}) #view DataFrame df team position points 0 A G 5 1 A G 7 2 A F 7 3 A F 9 4 B G 4 5 B G 9 6 B F 9 7 B F 12
ယခု ကျွန်ုပ်တို့သည် အဖွဲ့အား အတန်းအဖြစ် ကော်လံများအဖြစ် အနေအထားကို အသုံးပြု၍ DataFrame ကို လှည့်ရန် ကြိုးစားသည်ဆိုပါစို့။
#attempt to reshape DataFrame
df. pivot (index=' team ', columns=' position ', values=' points ')
ValueError : Index contains duplicate entries, cannot reshape
DataFrame ရှိ အတန်းများစွာသည် အဖွဲ့ နှင့် ရာထူးအတွက် တူညီသောတန်ဖိုးများကို မျှဝေပေးသောကြောင့် ကျွန်ုပ်တို့သည် အမှားအယွင်းတစ်ခု ရရှိခဲ့ပါသည်။
ထို့ကြောင့် DataFrame ကို ပြန်လည်ပုံဖော်ရန် ကြိုးစားသောအခါတွင် ထွက်ပေါ်လာသော DataFrame ၏ဆဲလ်တစ်ခုစီတွင် မည်သည့် အမှတ် တန်ဖိုးကို ပြသရမည်ကို ပန်ဒါများက မသိပါ။
အမှားကိုဘယ်လိုပြင်မလဲ။
ဤအမှားကို ပြင်ဆင်ရန်၊ ကျွန်ုပ်တို့သည် ဒေတာတန်ဖိုးများကို စုစည်းရန် သတ်မှတ်ထားသော aggfunc အငြင်းအခုံတစ်ခုဖြင့် pivot_table() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။
ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့သည် အတန်း များအဖြစ်၊ ကော်လံများအဖြစ် တည်နေရာ နှင့် DataFrame ဆဲလ်များရှိ အမှတ် တန်ဖိုးများကို အစုအဖြစ်အသုံးပြုသည့် DataFrame အသစ်ကိုဖန်တီးရန် pivot_table() ကို အသုံးပြုနိုင်သည်။
df. pivot_table (index=' team ', columns=' position ', values=' points ', aggfunc=' sum ')
position F G
team
At 16 12
B 21 13
ဤတစ်ကြိမ်တွင် ကျွန်ုပ်တို့သည် အမှားအယွင်းတစ်ခုမရရှိကြောင်း သတိပြုပါ။
DataFrame ရှိ တန်ဖိုးများသည် အဖွဲ့ တစ်ခုစီနှင့် ရာထူး ပေါင်းစပ်မှုအတွက် အမှတ် ပေါင်းကို ပြသည်။
ပျမ်းမျှကဲ့သို့သော aggfunc အတွက် မတူညီသောတန်ဖိုးကိုလည်း အသုံးပြုနိုင်ကြောင်း သတိပြုပါ-
df. pivot_table (index=' team ', columns=' position ', values=' points ', aggfunc=' mean ')
position F G
team
At 8.0 6.0
B 10.5 6.5
pivot_table() လုပ်ဆောင်ချက်ရှိ aggfunc အကြောင်းပြချက်ကို အသုံးပြုခြင်းဖြင့်၊ ကျွန်ုပ်တို့သည် မည်သည့်အမှားအယွင်းများကိုမဆို ရှောင်ရှားနိုင်ပါသည်။
မှတ်ချက်- pivot_table() လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာတွေ့နိုင်ပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြုပြင်ရမည်ကို ရှင်းပြသည်-
Pandas တွင် KeyError ကိုဘယ်လိုပြင်မလဲ။
ပြင်ဆင်နည်း- ValueError- float NaN ကို int သို့ ပြောင်းလဲ၍မရပါ။
ပြုပြင်နည်း- တန်ဖိုးအမှား- Operands များကို ပုံသဏ္ဍာန်များဖြင့် ထုတ်လွှင့်၍မရပါ။