Pandas(一)

pandas有三种基本数据结构:

(1)Series (2)DataFrame (3)Index

(一)pandas的Series对象

pandas的Series对象是一个带索引值的一维数组。创建一个数组对象如下:

  import pandas as pd

  data = pd.Series([1.1,2.789,3.8644,4,5,6])

输出结果如下

0    1.1000

1    2.7890
2    3.8644
3    4.0000
4    5.0000
5    6.0000
dtype: float64

这样可以看出Series是吧一组数据和一组索引绑定在一起,我们可以像字典那种访问方式访问values和index.同时也可以像numpy那样子通过索引获取标签的值。

代码如下:

  import pandas as pd

  data = pd.Series([1.1,2.789,3.8644,4,5,6])

  print(data.values)

  print(data.index)

  print(data[2])

输出结果如下

[ 1.1     2.789   3.8644  4.      5.      6.    ]

RangeIndex(start=0, stop=6, step=1)

3.8644

我们可以看见pandas的Series比numpy的一维array操作更加更加灵活。

(二)Series是通用的Numpy数组

Series通过显示的索引将数组与之绑定,而numpy则是隐式的方式来获取标签的值。

Series同样也可以对Index进行定义,完全可以定义成你需要的数据类型。

代码如下:

data = pd.Series([1.1,2.789,3.8644,4,5,6],
                 index=['a','b','c','d','f','d'])
print(data)

输出结果

a    1.1000
b    2.7890
c    3.8644
d    4.0000
f    5.0000
d    6.0000
dtype: float64

获取index和values方法和之前相同。同样也可以不按照顺序定义index,这样也是可以的。

(三)Series是特殊的字典

pandas的Series可以看成一种特殊的字典,字典是将任意键值映射到一组任意值的数据结构,而Series则是将类型键值映射到类型值,在某些操作上甚至比dict更加高效。我们用python直接创造一个字典,然后进行对比,这里的操作有点像强制类型转换。

代码如下

area_dict = {'california':423967,'Texas':695662,'New York':141297,
             'Florida':170312,'Illinois':149995}
area = pd.Series(area_dict)
print(data)
print(area)

运行结果

Florida       170312
Illinois      149995
New York      141297
Texas         695662
california    423967
dtype: int64

(四)创建Series对象

代码

print("============================")
print(pd.Series([1,3.4,5]))
print("============================")
print(pd.Series(3,index=[2,4,6]))
print("============================")
print(pd.Series({'california':423967,'Texas':695662,'New York':141297,
             'Florida':170312,'Illinois':149995}))
print("============================")
print(pd.Series({'california':423967,'Texas':695662,'New York':141297,
             'Florida':170312,'Illinois':149995},index = ['california','Texas']))

输出结果

============================
0    1.0
1    3.4
2    5.0
dtype: float64
============================
2    3
4    3
6    3
dtype: int64
============================
Florida       170312
Illinois      149995
New York      141297
Texas         695662
california    423967
dtype: int64
============================
california    423967
Texas         695662
dtype: int64




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值