【问题标题】:how to convert dataframe to panel data format in python?如何在python中将数据框转换为面板数据格式?
【发布时间】:2018-04-11 12:34:26
【问题描述】:

我的数据框看起来像,

                comp           name          base       lstdt   
A122630      삼성자산운용   KODEX 레버리지 코스피 200  2010/02/22   
A123320  미래에셋자산운용   TIGER 레버리지 코스피 200  2010/04/09   
A123320  한국투자신탁운용  KINDEX 레버리지 코스피 200  2012/01/27   
A122630  키움투자자산운용   KOSEF 레버리지 국고채 지수  2012/10/30   
A292340  한국투자신탁운용  KINDEX 일본TOPI      TOPIX  2014/06/16 

           date     code  
A122630  20180102  A122630  
A123320  20180102  A123320  
A123320  20180409  A123320  
A122630  20180409  A122630  
A292340  20180409  A292340  
...

如何将此类数据转换为类似面板的数据,

           date     comp
A122630   20180102   삼성자산운용  
A122630   20180409   키움투자자산운용
A123320   20180102   미래에셋자산운용  
A123320   20180409   키움투자자산운용
A292340   20180409   한국투자신탁운용    

请帮帮我.. 我试过的是这个,

years = np.tile(np.arange(appended_data.date.min(), appended_data.date.max()+1,1) ,2)
ids = np.repeat(appended_data.code.unique(), appended_data.date.max()-appended_data.date.min()+1)
arrays = [ids.tolist(), years.tolist()]
new_idx = list(zip(*arrays))

dataframe = pd.DataFrame()
for item in new_idx:
    for idx in range(len(new_idx)):
        for row in appended_data.iterrows():
            if new_idx[idx][0] == row['code'] and new_idx[idx][1] == row['date']:
                 dataframe['nav'] = row['nav']

【问题讨论】:

  • 不确定您的要求是什么?很多这些数据似乎都是凭空出现的。
  • 看来您想要的(第二个)DataFrame 在日期列中有多个日期,但您的输入 DataFrame 在日期列中只有 1 个日期。每个日期有一个 DataFrame 吗?你试过 DataFrame.merge() 吗?
  • @geonaut,是的,我在数据集中确实有其他日期,只是我没有放它们。而且我还没有尝试过merge(),谢谢你的评论
  • 其他日期是在单独的 DataFrame 中,还是在单个输入 DataFrame 中的所有数据?另外,第一列与什么有关?我认为您可能需要稍微扩展并检查您的输入和输出数据示例。
  • @geonaut,在一个名为“appended_data”的数据框中。第一列还涉及特定金融产品的唯一代码。它用作索引

标签: python pandas numpy panel reshape


【解决方案1】:

你可以使用:

df.to_panel()

请注意,Panels 在版本 0.23.4 之后停止使用。我知道这个问题很老,但仍然存在。

【讨论】:

    猜你喜欢
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    相关资源
    最近更新 更多