将字符串连接到从另一个数据帧映射的MultiIndex级别

时间:2018-11-15 11:25:21

标签: python pandas dataframe indexing

我想将信息连接到多索引的主索引。更具体地说,我想在仅引用产品代码的主索引列中合并导入产品的产品描述。

考虑以下代码...

index = [('A', 'x'), ('A', 'y'),
         ('B', 'z'), ('B', 'w'),
         ('C', 's'), ('C', 'q')]

Numeric = [33871648, 37253956,
           18976457, 19378102,
           20851820, 25145561]

index = pd.MultiIndex.from_tuples(index)


pop = pd.Series(Numeric, index=index)
pop.index.names = ['Imported Product', 'Manufactured Product']


print(pop)

当前结果:

Imported Product  Manufactured Product
A                 x                       33871648
                  y                       37253956
B                 z                       18976457
                  w                       19378102
C                 s                       20851820
                  q                       25145561

考虑到我有一个单独的数据框,其中包含以下信息...

  Imported Product    Product Description
   A                  Widget 1
   B                  Widget 2
   C                  Widget 3

所需结果:

Imported Product  Manufactured Product
A - Widget 1      x                       33871648
                  y                       37253956
B - Widget 2      z                       18976457
                  w                       19378102
C - Widget 3      s                       20851820
                  q                       25145561

这里的核心思想是利用第一列中创建的额外空白。在我的真实数据中,一个进口产品可能会进入100多种制成品中,因此,我宁愿按照此处要求的方式进行处理,而不是添加新列来显示进口产品说明,因为我的多指标也已经很多列。

虽然上面我刚刚提到产品说明是要链接到主索引中的信息项...在我的真实数据中,我还想使用其他信息,包括由内部计算得出的信息蟒蛇。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

set_index + map + set_levels

通过<Query> <ApolloConsumer> <MyExampleComponent /> </ApolloConsumer> </Query> 数据框创建一个映射,然后使用mapper

set_levels