(7)Series常用属性和方法

文章介绍了Pandas的Series对象,包括通过shape、size获取结构信息,使用index和values访问数据,利用.any()检查索引是否存在特定值,处理NaN值,设置和使用name属性以及如何对Series进行按值和按索引排序。还展示了value_counts()方法用于统计value出现的频次。
摘要由CSDN通过智能技术生成

内容:

·shape、size、index、values

·显式索引.any()

·value值为NaN

·Series的name属性

·Series数组排序

先导入各种包:

import numpy as np
import pandas as pd
from pandas import Series

【shape、size、index、values】

# Series是一个有序的字典对象

# 也可以通过shape、size、index、values等得到Series的属性

arr_series = Series(data=np.random.randint(0, 100, size=8), index=["A", "B", "C", "D", "E", "F", "G", "H"])
print(arr_series, "\n", type(arr_series))
print()
print("各项属性:"
      "\narr_series.shape:", arr_series.shape,
      "\narr_series.size:", arr_series.size,
      "\narr_series.index:", arr_series.index,
      "\narr_series.values:", arr_series.values)
print()

运行结果

 

 【显式索引.any()】

# 查看在Series数组中是否存在”A“和”K“:

# 查看在Series数组中是否存在”A“和”K“:
A_bool = (arr_series.index == "A")
K_bool = (arr_series.index == "K")
print("arr_series.index中是否包含A:", A_bool.any())
print("arr_series.index中是否包含K:", K_bool.any())
print()

运行结果

 只要在arr_series数组的显式索引中,存在"A",那么返回值就是True,反之,返回值就是False。

【NaN】

arr = Series(data={"语文": 99, "数学": 89, "英语": 79}, index=["语文", "数学", "英语", "物理"])
# 当index="物理"时,其value值为NaN:
print(arr)
print()

运行结果

        在定义Series数组时,当用户传入的显式索引在字典的key中找不到匹配项,解释器就会自动给该显式索引对应的value赋值为“NaN”。

# NaN:空值

 # 但当arr数据量过于庞大时,肉眼并不能判断出是否存在NaN,这是就需要用到notnull()、isnull()方法

#notnull():不存在返回True,

# isnull():存在返回True

print("arr数组中是否存在NaN:\n", arr.isnull().any(), "\narr数组:\n", arr.isnull())
print()

运行结果

【name属性】

# Series对象及其实例都有一个name属性

# 因为Series数组是一个一维数组,所以name一般用作二维表格中的列字段而存在

arr.name = "学科"
print(arr)

运行结果

【Series数组排序】

先生成一个ser数组:

ser = Series(data=np.random.randint(0, 100, size=10),
             index=list("abcdefghij"))
print(ser)
print()

运行结果

(按照值排序)

ser.sort_values()

        括号中默认为升序排列,也就是从小到大,当ascending传入参数为False时,为降序排列。也就是从大到小。

# 按照值排序,也就是按照value的大小来排序
# ser.sort_values()括号中默认为升序排列,
print("按照值排序:\n", ser.sort_values(ascending=False))

运行结果

 (按照索引排序)

# 按照索引排序,也就是按照index的大小来排序
# 什么时候会用索引排序呢?
# 当索引为时间时,一般会用到索引排序,观察数据随时间的变化

ser.sort_idnex()

# 按照索引排序,也就是按照index的大小来排序
# 什么时候会用索引排序呢?
# 当索引为时间时,一般会用到索引排序,观察数据随时间的变化
print("按照索引来排序:\n", ser.sort_index(ascending=False))

运行结果

 补:统计data中,每个value出现的频次:

ser_count = Series(data=["tom", "tom", "jom", "hom", "kom", "kom", "kom", "kom", "fom", "fom"])
# 统计出现的次数
# .value_count()方法会统计在data中,每个value出现的频次
print("tom、jom、hom、kom、fom出现的频次依次为:\n", ser_count.value_counts())

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弦之森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值