【发布时间】:2016-07-06 01:02:32
【问题描述】:
我想过滤多个列的值,为唯一值组合创建数据框。任何帮助将不胜感激。
这是我失败的代码(给定数据框 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 in get_loc(self, 键、方法、容限)1944 年尝试: -> 1945 返回 self._engine.get_loc(key) 1946 除了 KeyError:
...
ValueError: 传递的项目数错误 6,位置暗示 1
【问题讨论】:
-
了解 numpy 排列。