每日10行代码167:认识pandas中的DataFrame 数据结构4

176 篇文章 4 订阅
11 篇文章 0 订阅

接上一章:
也可以用包含字典的嵌套字典来创建DataFrame

In [5]: pop = {'Nevada': {2001:2.4, 2002: 2.9},'Ohio': {2000:1.5, 2001:1.7, 2002:33.6}}

In [6]: frame3 = pd.DataFrame(pop)

In [7]: frame3
Out[7]:
      Nevada  Ohio
2001     2.4   1.7
2002     2.9  33.6
2000     NaN   1.5

外面字典的键会作为列,里面字典的键会作为索引。
可以用“T”方法对DataFrame进行转置操作(调换行和列):

In [8]: frame3.T
Out[8]:
        2001  2002  2000
Nevada   2.4   2.9   NaN
Ohio     1.7  33.6   1.5

如果定义 DataFrame 时已经指定了索引,那么就会按指定的索引生成 DataFrame。

In [9]: pd.DataFrame(pop, index=[2001,2002,2003])
Out[9]:
      Nevada  Ohio
2001     2.4   1.7
2002     2.9  33.6
2003     NaN   NaN

这样也变相的实现的过滤数据和添加行的目的。
也可以用包含Series 的字典来构造 DataFrame :

In [11]: frame3['Ohio'][:-1]
Out[11]:
2001     1.7
2002    33.6
Name: Ohio, dtype: float64

In [12]: frame3['Nevada'][:2]
Out[12]:
2001    2.4
2002    2.9
Name: Nevada, dtype: float64

In [13]: pdata = {'Ohio': frame3['Ohio'][:-1],
    ...:         'Nevada': frmae3['Nevada'][:2]}

In [14]: pdata = {'Ohio': frame3['Ohio'][:-1],
    ...:         'Nevada': frame3['Nevada'][:2]}

In [15]: pd.DataFrame(pdata)
Out[15]:
      Ohio  Nevada
2001   1.7     2.4
2002  33.6     2.9
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值