一、pandas
pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
Pandas主要基于两种数据类型:series与dataframe。
- series是一个一维的数据类型,其中每一个元素都有一个标签。如果学过numpy的知识,就可以发现series类似于numpy中元素带标签的数组。其中,标签可以是数字或者字符串。
- dataframe是一个二维的表结构。Pandas的dataframe可以存储许多种不同的数据类型,并且每一个坐标轴都有自己的标签。
下面就分别对两种数据类型进行学习与总结。
二、Series
创建series对象
import pandas as pd
s = pd.Series([1, 2, "hello", "hzc"])
print(s) # 结果左边是索引,右边是对应的值
# 0 1
# 1 2
# 2 hello
# 3 hzc
# dtype: object
生成一个指定索引的series
import pandas as pd
s = pd.Series(range(4), index=["a", "b", "c", "d"]) # 索引是a,b,c,d
print(s)
# a 0
# b 1
# c 2
# d 3
# dtype: int64
通过字典来创建series对象
import pandas as pd
dic = {"d": "hzc", "c": "lmn", "b": 123, "a": 100}
s = pd.Series(dic)
print(s)
# d hzc
# c lmn
# b 123
# a 100
# dtype: object
用字典生成series的时候,可以指定索引,当索引中值对应的字典中的值不存在的时候,则此索引的值标记为NaA,并且可以通过pandas.isnull和pandas.notnull来判断哪些索引对应的值是没有的。
s = pd.Series(dic, index=["a", "b", "x"])
# a 100
# b 123
# x NaN
# dtype: object
print(pd.isnull(s))
# a False
# b False
# x True
# dtype: bool
print(pd.notnull(s))
# a True
# b True
# x False
# dtype: bool
访问series中的元素和索引
import pandas as pd
dic = {"d": "hzc", "c": "lmn", "b":