![feb81d816ce458783e719858196a0f6d.png](https://i-blog.csdnimg.cn/blog_migrate/e45896ba73b721e8e10278c5644facd0.jpeg)
今天开始,我们将介绍pandas库。pandas的数据结构跟我们常用的表格结构一样,所以理解起来很容易。话不多说,赶紧开始我们的pandas之旅吧。
pandas数据结构
Series对象
在介绍之前,我们先导入numpy和pandas:
![f81eac4696790907317309868ede8977.png](https://i-blog.csdnimg.cn/blog_migrate/3c524d1a140c5fff8be65b001cc15930.jpeg)
Series其实就是个带索引的一维数组:
![75d9b6a9a4e21ed683f6b849abf761d6.png](https://i-blog.csdnimg.cn/blog_migrate/86e355b144bef089bfcfb1e204147410.jpeg)
如上图,左边一列为默认的索引,右边一列为数值。我们可以通过index和values分别获取索引和数据:
![7d124440566f84de1606e36fec5f84b9.png](https://i-blog.csdnimg.cn/blog_migrate/0f9a009dc607e5cba54363a7a50b2145.jpeg)
当然,可以通过索引来找到对应的数据:
![d8a2fe4d974e7c7507bcfa695792773e.png](https://i-blog.csdnimg.cn/blog_migrate/656cd5e559a21b91e9eb64d3ad6555bb.jpeg)
刚才的索引是默认的,我们也可以自己创建索引:
![3d3fe1a6c71714611030af3d62bc1129.png](https://i-blog.csdnimg.cn/blog_migrate/97163da40cdbcb8354edf1ca4e318521.jpeg)
Series是一种特殊的字典,我们可以将Python中的字典转换为Series:
![343832418b4e2b980ffcf8ddb283bcf7.png](https://i-blog.csdnimg.cn/blog_migrate/75054e32d35959faee66a40f2801e9bf.jpeg)
如上图,字典中的键和值分别对应Series中的索引和值。
DataFrame对象
与Series类似,DataFrame就是带有索引和列名的二维数组。我们可以有多种方式创建DataFrame对象:
A.通过Series来创建
![53ab7bd01f9c878cf9c221b520d9ef2c.png](https://i-blog.csdnimg.cn/blog_migrate/8cde750047188dbeea79bcb1fcc7db10.jpeg)
如上图,我们只需将之前的data1加个列名即可变为DataFrame对象。
B.通过字典来创建
![97f84dab5e702e2fe2bf8e3dace4ff61.png](https://i-blog.csdnimg.cn/blog_migrate/38a53e9ecd43b77273956b7bc125e22b.jpeg)
如上图,字典的键为df1中的列名,字典的值为df1中的值,索引为默认。
C.通过Series对象构成的字典来创建
我们可以用之前的data和data1来创建一个DataFrame:
![aba25e2f18c33a704d283bc08a4b626e.png](https://i-blog.csdnimg.cn/blog_migrate/94205f8a45da66a94a608aa8afd64fc6.jpeg)
如图,由于data和data1的索引不同,有些值会返回NaN(not a number)。
D.通过numpy的二维数组进行创建
![49d484cdb8c899f7f851b8e93e120853.png](https://i-blog.csdnimg.cn/blog_migrate/1f289a956b90eb32236e16d1135a7caf.jpeg)
如图,创建二维数组后,只需将索引和列名定义好即可。
今天的介绍就到这里,下次再见。
更多干货内容,欢迎关注今日头条账号“人人都会机器学习”;你也可以搜索知识星球“自学机器学习”,里面也有精彩内容;还可以关注公众号:“数据实干家”,为你献上数据大餐。