Pandas 如何从系列转换为数据框
Pandas How to convert from series to a data frame
假设我有一个像这样的数据框的简单系列
S1 = Series([2.0, 0.816 , 0.2] , [51.0, 50.0 , 0.3])
pandas 将这个系列转换为这样的数据框的最佳方法是什么
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)
假设我有一个像这样的数据框的简单系列
S1 = Series([2.0, 0.816 , 0.2] , [51.0, 50.0 , 0.3])
pandas 将这个系列转换为这样的数据框的最佳方法是什么
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)