【Pandas之Series篇】

Pandas

pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

简介:
Pandas [1] 是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。

数据结构

Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。
Time- Series:以时间为索引的Series。
DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。
Panel :三维的数组,可以理解为DataFrame的容器。
Panel4D:是像Panel一样的4维数据容器。
PanelND:拥有factory集合,可以创建像Panel4D一样N维命名容器的模块。

  • Pandas安装

pip install pandas

  • Series

创建

  1. 默认索引
test_series0 = pd.Series([3,6,9,10])
print(test_series0)
0     3
1     6
2     9
3    10
dtype: int64

2.定义索引

test_series1 = pd.Series([1,2,3,4],index = ["a","b","c","d"])
print(type(test_series1))
print(test_series1)
<class 'pandas.core.series.Series'>
a    1
b    2
c    3
d    4
  1. 字典形式创建
test_series2 = pd.Series({"b":5,"a":6,"d":7})
print(test_series2)
b    5
a    6
d    7

与字典相同处

#访问index 、values
print(test_series2.index)
print(test_series0.index)
print(test_series0.values)

#布尔判断,如字典般,可做值判断
print(1 in test_series1.values)
print(1 in test_series1)
print("a" in test_series1)

条件查询

b    5
a    6
d    7
dtype: int64
print(test_series2[test_series2>3])    
a    6
d    7
dtype: int64

转换

#字典
dict1 = dict(test_series1)
print(dict1)
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
#元组列表
list1 = list(test_series1.items())
print(list1)
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
#Frame
frame1 = test_series1.to_frame().reset_index()
print(frame1)
  index  0
0     a  1
1     b  2
2     c  3
3     d  4

计算(可以通过一系列数学运算方法且索引不变,仅值发生改变。)

xx = test_series3*3
print(xx)
a    6.0
c    NaN
d    9.0

xy = test_series3+test_series1
print(xy)
a    3.0
b    NaN
c    NaN
d    7.0

xh = test_series3["a"]*3
print(xh)
6.0
#替换
xz = test_series3.replace({2:11})
print(xz)
a    11.0
c     NaN
d     3.0
#删除
xw = test_series3.drop('a')
print(xw)
c    NaN
d    3.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值