pandas之Series

知识点

Pandas的数据类型有两种:
    1、Series 一维,带标签数组
    2、DataFrame 二维,Series容器
Serial对象本质上由两个数组构成,一个数组构成对象的健(index,索引),一个数组构成对象的值(values).因此Series可以看作是键值对(健-->值)

1、Series创建

#方式1 可以手动指定index
t = pd.Series(np.arange(10))
print(t)
b =pd.Series(range(4),index = ["a","b","c","d"])
print(b)

#方式2 字典包含了index
temp_dict = {"name":"yangwj","age":28,"tel":"10080"}
a = pd.Series(temp_dict)

2、Series索引与切片

  a)索引:一个的时候直接传入序号或者index,多个的时候传入序号或者index的列表

print(a["name"])#通过key
print(a[1])#通过index

print(a.index)  #获取索引列表
print(len(a.index)) #获取索引列表长度
print(list(a.index)) #获取索引并转为列表
print(a.values) #获取值,类型为ndarray
print(a[a>1]) #布尔索引

  b)切片:直接传入start end或者步长即可

print(a[:2])#切片
print("*"*10)
print(a[::2]) #按步长切片 返回一个无序的Series
print("*"*10)
print(a[[1,2]])#获取多个

3、Series其他属性与方法

b =pd.Series(range(5),index = ["a","b","c","d","a"])
print(b)

print(b.max()) #最大值
print(b.min()) #最小值
print(b.idxmax()) #最大值位置
print(b.idxmin()) #最小值位置
#print(b.quantile(0.1)) #10%分位数  0.30000000000000004
#print(b.sum) #求和,但是不使用
#print("*"*10)
#print(b.mean) #求均值
#rint(b.median) #求中位数
#print(b.std) #标准差
#print(b.ptp) #极差 = 最大值-最小值
#print(b.cov) #协方差
#print(b.mode()) #众数
#print(b.var) #方差
#print(b.kurt) #峰度
#print(b.skew) #偏度
print(b.describe()) #Series整体信息描述
'''
    count    5.000000
    mean     2.000000
    std      1.581139
    min      0.000000
    25%      1.000000
    50%      2.000000
    75%      3.000000
    max      4.000000
'''
print(b.describe()["count"]) #获取个数
# print("*"*10)
print(pd.isnull(b)) #是空
print(pd.notnull(b))    #不为空
print(pd.isna(b)) #是nan
print(pd.notna(b)) #不是nan
print(b.head()) #获取前5行数据
print(b.tail()) #获取末尾5行数据

4、Series读取外部数据

#读取CSV文件
g = pd.read_csv("./youtube_video_data/GB_video_data_numbers.csv")
#print(g)

#pd.read_sql() #从数据库读取

 

posted @ 2019-05-09 09:47  小白啊小白,Fighting  阅读(1154)  评论(3编辑  收藏  举报