2

在我netCDF通过 读入文件后xray,我得到了dataframe一个multiindex像这样的熊猫:

                   temp
date       lat lon                            
2012-01-01 54  10  206
               11  207
           55  10  210
               11  214
2012-01-02 54  10  206
...                ...

现在我想将它们转换multiindex成不同的列来进行统计操作。我想得到这样的 pd dataframe

           temp_54_10 temp_54_11 temp_55_10 temp_55_11
date                                  
2012-01-01 206        207        210        214
2012-01-02 206        208        213        220
...                                         ...

只有使用熊猫或工具才有可能获得dataframe这样的结果xray,如果是,我该怎么做?

提前致谢 :)

ps 我用python 3.5.0,pandas 0.17.0xray 0.6.1

4

1 回答 1

1

尝试拆垛。这假设您的数据框名为df.

>>> df.unstack(['lat', 'lon'])
          temp               
lat         54        55     
lon         10   11   10   11
date                         
2012-1-1   206  207  210  214
2012-1-2   206  NaN  NaN  NaN

如果你想加入 lat_lon 值,你可以这样做:

df.reset_index(inplace=True)
df['lat_lon'] = ["{0}_{1}".format(lat, lon) for lat, lon in zip(df.lat, df.lon)]
>>> df.pivot(index='date', columns='lat_lon', values='temp')
lat_lon   54_10  54_11  55_10  55_11
date                                
2012-1-1    206    207    210    214
2012-1-2    206    NaN    NaN    NaN
于 2015-11-16T19:19:48.470 回答