【问题标题】:Python Pandas Multiindex Slicing/Indexing to obtain duplicate dataPython Pandas Multiindex Slicing/Indexing 获取重复数据
【发布时间】:2018-07-22 23:07:07
【问题描述】:

我是 python 新手,我正在使用具有多个索引的 pandas 数据框。我想获取一个数据帧并将其与另一个数据帧切片/组合/索引。第一个看起来像这样:

    a
Out[123]: 
     col1  col2 col3 col4
     lion tiger bear ohmy
row1    1     5    1    2
row2    2     6    2    3
row3    3     7    3    4
row4    4     8    4    5

第二个是:

    b
Out[124]: 
    col group
0  col2     A
1  col3     B
2  col3     C
3  col4     D
4  col4     A

我想生成以下内容(然后我想按索引的第二级进行分组 - A、B、C、D):

    d
Out[125]: 
     col2 col3    col4   
        A    B  C    A  D
row1    5    1  1    2  2
row2    6    2  2    3  3
row3    7    3  3    4  4
row4    8    4  4    5  5

每次我尝试用第二个 (a[b['col']]) 索引第一个数据帧时,我都会收到以下错误: NotImplementedError: 非唯一索引上的 Index._join_level 未实现

【问题讨论】:

    标签: pandas indexing duplicates slice multi-index


    【解决方案1】:

    你可以试试

    s=df2.groupby('col').count()
    
    s1=df.loc[:,s.index.tolist()]
    
    
    Out=df2.merge(s1.T.reset_index(),left_on='col',right_on='level_0').drop(['level_0','level_1'],1).set_index(['col','group']).T
    
    Out
    Out[404]: 
    col   col2 col3    col4   
    group    A    B  C    D  A
    row1     5    1  1    2  2
    row2     6    2  2    3  3
    row3     7    3  3    4  4
    row4     8    4  4    5  5
    

    【讨论】:

    • @Christine yw~ 快乐编码:-)
    猜你喜欢
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 2015-06-13
    • 2017-09-19
    • 2020-11-30
    • 1970-01-01
    • 2017-12-08
    相关资源
    最近更新 更多