Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取多个值以使用Python创建表_Python_Excel_Python 2.7_Pandas_Dataframe - Fatal编程技术网

获取多个值以使用Python创建表

获取多个值以使用Python创建表,python,excel,python-2.7,pandas,dataframe,Python,Excel,Python 2.7,Pandas,Dataframe,使用我的代码,我可以在1中连接两个Excel数据库。问题是,它只向我显示了收入栏,而没有显示该栏的印象。为了更清楚,我留下了代码和示例。我试过: df1 = df1.pivot(index = "Cliente", columns='Fecha', values=['Impresiones','Revenue']) 但我有一个错误:例外:数据必须是一维的 代码: 档案1: 档案2: 结果: 必要的: 以下是以文本形式显示的数据框: archivo1: Fecha Cliente

使用我的代码,我可以在1中连接两个Excel数据库。问题是,它只向我显示了收入栏,而没有显示该栏的印象。为了更清楚,我留下了代码和示例。我试过:

 df1 = df1.pivot(index = "Cliente", columns='Fecha', values=['Impresiones','Revenue']) 
但我有一个错误:
例外:数据必须是一维的

代码:

档案1:

档案2:

结果:

必要的:

以下是以文本形式显示的数据框:

archivo1:
Fecha   Cliente Impresiones Revenue
21/12/17    Jose    12345   $989
21/12/17    Martin  3245    $10
21/12/17    Pedro   645     $879
21/12/17    Esteban 2345    $899
21/12/17    Mauro   654     $98

archivo2:
Fecha   Cliente Impresiones Revenue
20/12/17    Esteban 12345   $150
20/12/17    Martin  3245    $20
20/12/17    Pedro   645     $3000
20/12/17    Mauro   2345    $50
20/12/17    Jose    654n    $667
您可以使用:

  • 将两个df连接在一起
  • 使用类别
    压痕
    收入
  • 排序索引,二级子代
  • 按掩码更改索引的第一级并设置为索引


你能将你的数据框作为文本粘贴到你的图片中吗?我刚刚在@c编辑了它ᴏʟᴅsᴘᴇᴇᴅ很好,如果我有另一个列,比如
impressiones
调用
impressiones two
,我正在寻找在xlsx文件中添加它。我需要更改代码吗?我想你需要添加
m1=df.index.get_level_值(1)='impressiones two'df.index=np.where(m1,'impressiones two',df.index.get_level_值(0))
,但我只在电话上,所以没有经过测试。我尝试了,但我有一个错误:`indexer:太多的级别:index只有1级,而不是2级`
archivo1:
Fecha   Cliente Impresiones Revenue
21/12/17    Jose    12345   $989
21/12/17    Martin  3245    $10
21/12/17    Pedro   645     $879
21/12/17    Esteban 2345    $899
21/12/17    Mauro   654     $98

archivo2:
Fecha   Cliente Impresiones Revenue
20/12/17    Esteban 12345   $150
20/12/17    Martin  3245    $20
20/12/17    Pedro   645     $3000
20/12/17    Mauro   2345    $50
20/12/17    Jose    654n    $667
df = (pd.concat([df1,df2])
        .set_index(["Cliente",'Fecha'])
        .stack()
        .unstack(1)
        .sort_index(ascending=(True, False)))

m = df.index.get_level_values(1) == 'Impresiones'
df.index = np.where(m, 'Impresiones', df.index.get_level_values(0))
print (df)
Fecha       20/12/17 21/12/17
Esteban         $150     $899
Impresiones    12345     2345
Jose            $667     $989
Impresiones     654n    12345
Martin           $20      $10
Impresiones     3245     3245
Mauro            $50      $98
Impresiones     2345      654
Pedro          $3000     $879
Impresiones      645      645