pandas数据Series
目录
默认数字索引
import pandas as pd
import numpy as np
from pandas import Series
from pandas import DataFrame
obj=Series([1,2,3,4,5]) #Series包含行索引,列索引
obj #默认数字索引
结果输出:
0 1
1 2
2 3
3 4
4 5
dtype: int64
自定义索引
obj=Series([1,2,3,4,5],index=["a","b","c","d","e"]) #Series包含行索引,列索引
obj #自定义索引
结果输出:
a 1
b 2
c 3
d 4
e 5
dtype: int64
obj=Series({"11111":1234,"abcabc":2222}) #Series包含行索引,列索引
obj #默认数字索引,索引必须唯一
结果输出:
11111 1234
abcabc 2222
dtype: int64
gk=Series([150,150,150,300],index=["数学","英语","语文","理科综合"])
gk
结果输出:
数学 150
英语 150
语文 150
理科综合 300
dtype: int64
索引访问
obj=Series([11,12,13,14,15]) #Series包含行索引,列索引
obj #自定义索引
结果输出:
0 11
1 12
2 13
3 14
4 15
dtype: int64
obj[0] #通用索引,数字访问
结果输出:
11
obj[0:5]
结果输出:
0 11
1 12
2 13
3 14
4 15
dtype: int64
obj.loc[3] #默认情况是数字,自定义就是自定义
结果输出:
14
obj.loc[1]
结果输出:
12
obj=Series([11,12,13,14,15],index=["a","b","c","d","e"]) #Series包含行索引,列索引
obj #自定义索引
结果输出:
a 11
b 12
c 13
d 14
e 15
dtype: int64
obj[3]
结果输出:
14
obj.loc["b"] #只能是自定义,不可以用数字,按照实际索引
结果输出:
12
obj[0:3]
结果输出:
a 11
b 12
c 13
dtype: int64
obj["a":"c"] #a-c之间
结果输出:
a 11
b 12
c 13
dtype: int64
obj.iloc[0] #按照数字索引
结果输出:
11
形状
obj.shape #形状
结果输出:
(5,)
多少个元素
obj.size #多少个元素
结果输出:
5
返回数组的数值
obj.values #返回数组的数值,numpy
结果输出:
array([11, 12, 13, 14, 15], dtype=int64)
查看默认前五行
obj.head() #查看默认前五行
结果输出:
a 11
b 12
c 13
d 14
e 15
dtype: int64
查看默认后五行
obj.tail()#查看尾部
结果输出:
a 11
b 12
c 13
d 14
e 15
dtype: int64
NaN索引
mydict={"a":1,"b":2,"c":3}
index=["a","b","x"] #不在索引的数据会被忽略,NaN不存在
obj=Series(mydict,index=index)
obj
结果输出:
a 1.0
b 2.0
x NaN
dtype: float64
判断数据完整
pd.isnull(obj) #判断数据完整
结果输出:
a 1.0
b 2.0
x NaN
dtype: float64
pd.notnull(obj) #判断数据不为空
结果输出:
a True
b True
x False
dtype: bool
obj.isnull()
结果输出:
a False
b False
x True
dtype: bool
obj.notnull()
结果输出:
a True
b True
x False
dtype: bool
名字赋值
obj.notnull()
obj
结果输出:
a 1.0
b 2.0
x NaN
Name: nimei, dtype: float64
运算
obj+2 #每个数+2
结果输出:
a 3.0
b 4.0
x NaN
Name: nimei, dtype: float64
数据筛选
obj[obj>1] #数据筛选
结果输出:
b 2.0
Name: nimei, dtype: float64