一、series对象
1、类似一维数组
可自定义索引
index 参数是可省略的,你可以选择不输入这个参数。
如果不带 index 参数,Pandas 会自动用默认 index 进行索引,类似数组,索引值是 [0, …, len(data) - 1]
import pandas as pd
from pandas import Series,DataFrame
import numpy as np
# 创建Series对象并省略索引
sel = pd.Series([1,2,3,4])
print(sel)
# 自己创建索引
sel = pd.Series(data = [1,2,3,4], index = list('abcd'))
print(sel)
# 获取内容
print(sel.values)
# 获取索引
print(sel.index)
# 获取索引和值对
print(list(sel.iteritems()))
2、索引
# 将字典转换为Series
dict={"red":100,"black":400,"green":300,"pink":900}
se3=Series(dict)
print(se3)
# Series对象同时支持位置和标签两种方式获取数据
print('索引下标',sel['c'])
print('位置下标',sel[2])
#获取不连续的数据
display('索引下标',sel[['a','c']])
print('位置下标',sel[[1,3]])
# 可以使用切片获取数据
print('位置切片',sel[1:3])# 左包含右不包含
display('索引切片',sel['b':'d'])# 左右都包含
# 重新赋值索引的值
sel.index = list('dcba')
print(sel)
# # ReIndex重新索引,会返回一个新的Series(调用reindex将会重新排序,缺失值则用NaN填补)
# print(sel.reindex(['b','a','c','d','e'])) #排序规则 reindex
# Drop丢弃指定轴上的项
se1=pd.Series(range(10,15))
print(se1)
print(se1.drop([2,3]))
3、series运算
对 Series 的算术运算都是基于 index 进行的。
我们可以用加减乘除(+ - * /)这样的运算符对两个 Series 进行运算,
Pandas 将会根据索引 index,对响应的数据进行计算,结果将会以浮点数的形式存储,以避免丢失精度。
如果 Pandas 在两个 Series 里找不到相同的 index,对应的位置就返回一个空值 NaN
series1 = pd.Series([1,2,3,4],['London','HongKong','Humbai','lagos'])
series2 = pd.Series([1,3,6,4],['London','Accra','lagos','Delhi'])
print(series1)
print(series2)
# print(series1-series2)
print(series1+series2)
# print(series1*series2)