如何实现3D dataFrame结构?

时间:2018-07-09 18:05:04

标签: arrays pandas dataframe 3d

我正在尝试使用熊猫来表示一些3D数据,并且对此一无所知。我知道可以使用numpy来完成,并且认为使用熊猫应该不难,因为它更易于索引。所以这就是我到目前为止的情况:

import numpy as np
import pandas as pd

date=[2015, 2016, 2017]
interval=np.arange(-10,11)
elevation=np.arange(0.0,3.25,0.25)
df=pd.DataFrame(index=interval, columns=elevation)

df的结果如下所示。注意,我在上面的可变日期中有年份列表。我想代表存储在dataFrame目标中的每年的以下数据。该怎么做?

output of df from above

1 个答案:

答案 0 :(得分:1)

multiindex应该可以帮助您解决问题。但是,由于尝试使用字典,因此您还可以执行以下操作并获得多索引数据框:

date=[2015, 2016, 2017]
interval=np.arange(-10,11)
elevation=np.arange(0.0,3.25,0.25)
df=pd.DataFrame(index=interval, columns=elevation)
dic = {x:df for x in date}
df = pd.concat(dic.values(), keys= dic.keys())  

因此,如果要查看特定的年份(例如2016年),只需执行以下操作:

df.loc[2016]