series转换成dataframe

在平时数据分析时,通过describe和groupby生成的统计数据,更多的时候是属于series格式的。
而我们在后续的分析或者数据合并的过程中,我们往往需要将series格式转换成dataframe格式,往往存在以下两种情况

  1. 单个的series转换成dataframe,其中也要将index去除索引,变成dataframe中的一列
#生成序列,这里注意pd.Series的S一定要大写
series = pd.Series(['杭州','宁波','嘉兴','湖州'])
series
Out[57]: 
0    杭州
1    宁波
2    嘉兴
3    湖州
dtype: object
#将序列转化为字典
df = {'序号':series.index,'城市':series.values}
#将字典转化为DF, pd.DataFrame中D和F注意大写,否则会报错
#AttributeError: module 'pandas' has no attribute 'dataframe'
DF = pd.DataFrame(df)
DF
Out[53]: 
   城市  序号
0  杭州   0
1  宁波   1
2  嘉兴   2
3  湖州   3

单个的series也可以用to_frame变成dataframe

aa = a.to_frame()

aa
Out[74]: 
   0
0  1
1  2
2  3
3  4
  1. 有多个series,将多个series合并在一起生成series
    注:series中pandas的join,merge,concat不能使用
    使用pandas的dataframe直接生成的df,只能是按照行合并
    如果需要按照列合并,需要按照字典的模式进行合并
    两者的区别:
    1、字典括号里面是中括号,而dataframe直接生成里面是大括号
    2、字典的模式是(‘列名’:序列名称)的格式,而dataframe中大括号内只是(序列名称)。中间都是用逗号隔开
a = pd.Series([1,2,3,4])
b = pd.Series([5,6,7,8])
c = pd.Series([8,5,6,9])
df = pd.DataFrame({'a':a,'b':b,'c':c})
a
Out[67]: 
0    1
1    2
2    3
3    4
dtype: int64

b
Out[68]: 
0    5
1    6
2    7
3    8
dtype: int64

c
Out[69]: 
0    8
1    5
2    6
3    9
dtype: int64

df
Out[70]: 
   a  b  c
0  1  5  8
1  2  6  5
2  3  7  6
3  4  8  9
d = pd.DataFrame([a,b,c])

d
Out[72]: 
   0  1  2  3
0  1  2  3  4
1  5  6  7  8
2  8  5  6  9
  • 16
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值