ฉันต้องการกรองค่าในหลายคอลัมน์เพื่อสร้าง dataframes สำหรับชุดค่าผสมที่ไม่ซ้ำ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม
นี่คือรหัสของฉันที่ล้มเหลว (ระบุ dataframe df):
dd = defaultdict(dict) #create blank default dictionary
values_col1 = df.col1.unique() #get the unique values from column 1 of df
for i in values_col1:
dd[i] = df[(df['col1']==i)] #for each unique value create a sorted df and put in in a dictionary
values_col2 = dd[i].col2.unique() #get the unique values from column2 of df
for m in values_col2:
dd[i][m] = dd[i][(dd[i]['col2']==m)] #for each unique column2 create a sub dictionary
เมื่อฉันรันมัน ฉันได้รับข้อความแสดงข้อผิดพลาดที่ยาวมาก ฉันจะไม่แทรกสิ่งทั้งหมดที่นี่ แต่นี่คือบางส่วน:
C:\Anaconda3\lib\site-packages\pandas\indexes\base.py ใน get_loc(self, key, method, allowance) 1944 ลอง: -> 1945 return self._engine.get_loc(key) 1946 ยกเว้น KeyError:
...
ValueError: จำนวนรายการไม่ถูกต้องผ่าน 6 ตำแหน่งหมายถึง 1