一、关于pandas
pandas是基于NumPy构建,经BSD许可的开源库,为Python开发者提供高性能,易用的数据结构和数据分析工具。pandas官网
二、数据结构
1、Series:一维标记的数组,能够保存任何数据类型(整数,字符串,浮点数,Python对象等)。轴标签统称为索引。
import pandas as pd
import numpy as np
# 传入数据可以是 ndarray或列表,
# 此时传入index时,需要满足len(index)=len(data)
# data = np.random.randn(4)
# data = ["a",2,3.1,True]
# 传入数据可以是 标量值
# data = 6
# 传入数据可以是 字典
data = {"b":1,"a":6,"c":15}
# 如果没有传递index或index=None,将自动创建index=[0, ..., len(data) - 1]。
index = ['a', 'b', 'c', 'd', 'e']
# 创建 Series
s = pd.Series(data,index=index,name="my_series")
print(s)
# a 6.0
# b 1.0
# c 15.0
# d NaN --> pandas缺失数据标记
# e NaN
# Name: my_series, dtype: float64
# Series切片操作
print(s[0]) # 6.0
print(s[:2])
# a 6.0
# b 1.0
# Name: my_series, dtype: float64
print(s[[1,4]])
# b 1.0
# e NaN
# Name: my_series, dtype: float64
# Series类似字典操作
print(s["d"]) # nan
s["d"] = 2 # 设置指定index的值
print(s["d"]) # 2.0
print('e' in s) # True,判断是否含有指定index
# print(s["f"]) # KeyError: 'f'
print(s.get('f', np.nan)) # 类似字典get取值
print(s.name) # my_series 获取name
print(s.index) # Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
2、Time- Series:以时间为索引的Series。
3、DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。
4、Panel :三维的数组,可以理解为DataFrame的容器。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。