Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.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_Pandas - Fatal编程技术网

Python 熊猫创造南

Python 熊猫创造南,python,pandas,Python,Pandas,给定此示例数据帧 Cents Date MN Shop 0.03 01012019 Shop 0.22 01012019 Shop 0.12 01012019 Shop 0.08 02012019 Shop 0.02 02012019 Shop 0.02 02012019 Shop

给定此示例数据帧

         Cents      Date
MN                                         
Shop        0.03  01012019
Shop        0.22  01012019
Shop        0.12  01012019
Shop        0.08  02012019
Shop        0.02  02012019
Shop        0.02  02012019
Shop        0.02  03012019
Shop        0.09  03012019
Shop        0.11  03012019
Shop        0.02  04012019
Shop        0.03  04012019
Shop        0.04  04012019
df1.pivot(index=None, columns='Date', values='Cents')
我想把我的数据框重新设计成

我到目前为止所做的

  • 删除原始样本数据帧的索引

    df1 = df.reset_index(drop=True)
    
  • 透视示例数据帧

             Cents      Date
    MN                                         
    Shop        0.03  01012019
    Shop        0.22  01012019
    Shop        0.12  01012019
    Shop        0.08  02012019
    Shop        0.02  02012019
    Shop        0.02  02012019
    Shop        0.02  03012019
    Shop        0.09  03012019
    Shop        0.11  03012019
    Shop        0.02  04012019
    Shop        0.03  04012019
    Shop        0.04  04012019
    
    df1.pivot(index=None, columns='Date', values='Cents')
    
  • 旋转后,我无法得到想要的结果,这就是我得到的结果

    有人能告诉我为什么会这样吗?我很确定这与pivot如何处理我的数据帧有关(也许我需要一个唯一的索引,在这种情况下我没有这个索引?)。如果你能让我知道我应该如何继续,我将不胜感激


    谢谢。

    您可能需要一个
    groupby
    +
    cumcount
    创建一个附加密钥

    Yourdf= df.assign(key=df.groupby('Date').cumcount()).pivot(index='key',columns='Date',values='Cents')
    Yourdf
    Out[37]: 
    Date  1012019  2012019  3012019  4012019
    key                                     
    0        0.03     0.08     0.02     0.02
    1        0.22     0.02     0.09     0.03
    2        0.12     0.02     0.11     0.04
    

    嗨,本,谢谢!据我所知,你能解释一下为什么我需要一把额外的钥匙吗?我的pivot代码中的index='x'不也是这样做的吗?您的输出结果与我想要的略有不同-我希望在日期和值之间有一个“美分”行,这可能吗?@SunnyBoiz这里的问题是,您的每个日期之间没有公用键,这就是为什么原始索引中有这么多NaN