假设我有一个像这样的数据框的简单系列

S1 = Series([2.0, 0.816 , 0.2] , [51.0, 50.0 , 0.3])


我们用大熊猫将这个系列转换成这样的数据框的最佳方法是什么

pd.DataFrame({
        'mean' :  [2.0 , 51.0] ,
        'median' : [0.816 , 50.0] ,
        'sd' : [0.2 ,0.3]
    })


这就是数据框的外观

mean    median      sd
 2      0.816       0.2
 51     50.000      0.3

最佳答案

一种方法

您可以做一些索引向导

D1 = S1.to_frame().reset_index().T


现在您可以将列名称映射到任何

D1.rename( columns={0:'mean',1:'median',2:'sd'}, inplace=True) # should match the list order in S1
D1.reset_index(drop=True,inplace=True) # reset the funky index
#   mean  median   sd
#0    51  50.000  0.3
#1     2   0.816  0.2


另一种方法

你可以做字典

vars     = ['mean','media','mode'] #again matching the order of the lists in S1
data_dict = dict(zip( vars,S1.iteritems()))
D1       = pandas.DataFrame.from_dict(data_dict)

关于python - Pandas 如何从系列转换为数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31785331/

10-14 17:42