Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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_Dataframe_Pivot_Pivot Table - Fatal编程技术网

Python 使用重复的索引值透视数据帧

Python 使用重复的索引值透视数据帧,python,pandas,dataframe,pivot,pivot-table,Python,Pandas,Dataframe,Pivot,Pivot Table,我有这样一个数据帧: ID Status Status_date 1 Active 10/9/2010 1 Closed 12/10/2010 2 Open 2/2/2013 3 Open 12/02/2012 3 Active 2/3/2013 4 Closed 3/3/2009 ID Status Status_date Status

我有这样一个数据帧:

ID      Status     Status_date
1       Active     10/9/2010
1       Closed     12/10/2010
2       Open       2/2/2013
3       Open       12/02/2012
3       Active     2/3/2013
4       Closed     3/3/2009
ID   Status  Status_date  Status  Status_date  Status  Status_date
1    NaN     NaN          Active  10/9/2010    Closed  12/10/2010
2    Open    2/2/2013     NaN     NaN          NaN     NaN
3    Open    12/2/2012    Active  2/3/2013     NaN     NaN
4    NaN     NaN          NaN     NaN          Closed  NaN
我想让它看起来像这样:

ID      Status     Status_date
1       Active     10/9/2010
1       Closed     12/10/2010
2       Open       2/2/2013
3       Open       12/02/2012
3       Active     2/3/2013
4       Closed     3/3/2009
ID   Status  Status_date  Status  Status_date  Status  Status_date
1    NaN     NaN          Active  10/9/2010    Closed  12/10/2010
2    Open    2/2/2013     NaN     NaN          NaN     NaN
3    Open    12/2/2012    Active  2/3/2013     NaN     NaN
4    NaN     NaN          NaN     NaN          Closed  NaN

我应该如何解决这个问题?

我不知道您为什么要这样使用数据,但这里是:

new_df = (df.pivot('ID','Status',['Status','Status_date'])
   .sort_index(level=(1,0), axis=1)
)
new_df.columns = [x for x,_ in new_df.columns]
输出:

    Status Status_date  Status Status_date Status Status_date
ID                                                           
1   Active   10/9/2010  Closed  12/10/2010    NaN         NaN
2      NaN         NaN     NaN         NaN   Open    2/2/2013
3   Active    2/3/2013     NaN         NaN   Open  12/02/2012
4      NaN         NaN  Closed    3/3/2009    NaN         NaN

请注意,通常不鼓励在Pandas中使用重复的列名,除非您确实知道自己在做什么

我不确定您为什么要这样使用数据,但这里是:

new_df = (df.pivot('ID','Status',['Status','Status_date'])
   .sort_index(level=(1,0), axis=1)
)
new_df.columns = [x for x,_ in new_df.columns]
输出:

    Status Status_date  Status Status_date Status Status_date
ID                                                           
1   Active   10/9/2010  Closed  12/10/2010    NaN         NaN
2      NaN         NaN     NaN         NaN   Open    2/2/2013
3   Active    2/3/2013     NaN         NaN   Open  12/02/2012
4      NaN         NaN  Closed    3/3/2009    NaN         NaN

请注意,通常不鼓励在Pandas中使用重复的列名,除非您确实知道自己在做什么

我仍然收到错误:ValueError:Index包含重复的条目,不能reshape@Soham看起来每个ID都有多个相同的状态,例如ID
1的2
Open
。此案例未显示在示例数据中。您需要先决定如何处理这些内容。我仍然得到错误:ValueError:Index包含重复的条目,不能reshape@Soham看起来每个ID都有多个相同的状态,例如ID
1的2
Open
。此案例未显示在示例数据中。你需要先决定如何处理这些。