Pandas学习笔记(二)

Series对象(一)

导入本笔记需要用的包

import pandas as pd
import numpy as np

创建Series对象

# 创建一个Series对象
pd.Series()


# 用值填充Series对象
ice_cream_flavors = [
    "Chocolate",
    "Vanilla",
    "Strawberry",
    "Rum Raisin"
]
pd.Series(ice_cream_flavors)


# Series构造函数定义了6个形参:data、index、dtype、name、copy和fastpath
# 所以可以按照顺序填入,也可以用下面这种方式
pd.Series(data = ice_cream_flavors)


# 自定义索引
# 除了用前面的数字进行索引,我们还可以自定义索引
days_of_week = ("Monday", "Wednesday", "Friday", "Wednesday")
pd.Series(data = ice_cream_flavors, index = days_of_week)


# 创建带有缺失值的Series
temperatures = [25, 20, np.nan, 30]
pd.Series(temperatures)
  • Series与字典的差异就是Series中的索引可以重复,比如上面的Wednesday

  • 同时,用不同的数据类型来创建Series,Series的类型也会不同

检索头和尾

# 以5为增量生成0~500范围内的100个值,然后传递给Series构造函数
values = range(0, 500, 5)
nums = pd.Series(values)
nums

# 查看头部,括号中的数字指查看前几个,默认为5个
nums.head(3)


# 查看尾部,括号中的数字指查看前几个,默认为5个
nums.tail(6)

数学运算

统计操作
numbers = pd.Series([1, 2, 3, np.nan, 4, 5])
numbers

# 统计非空值个数
print(f"非空值个数:{numbers.count()}")

# 值相加
print(f"和为:{numbers.sum()}")
# 默认会忽略缺失值,但也可以通过设置skipna参数来包含缺失值
print(f"包含缺失值的和为:{numbers.sum(skipna=False)}")
# min_count参数可以设置,有效值最小数量,必须大于这个数才会求和
print(f"不满足min_count求和:{numbers.sum(min_count=6)}")

# 值相乘
print(f"乘积为:{numbers.product()}")
# 同样的也可以设置min_count等

# 累积和
print(f"累积和:{numbers.cumsum()}")

# 百分比变化,当前索引值与上一个索引对应值的差值,除以上一个索引对应值
print(f"百分比变化:{numbers.pct_change()}")

# 平均值
print(f"平均值为:{numbers.mean()}")

# 中间数
print(f"中间数为:{numbers.median()}")

# 标准差
print(f"标准差为:{numbers.std()}")

# 最大值最小值
print(f"最大值为:{numbers.max()},最小值为:{numbers.min()}")

# 总结,返回对Series的统计评估,包括技术、平均值、标准差等
print(f"总结:{numbers.describe()}")


# 从Series中随机挑选各种值,形成一个新的Series,括号中的数字是挑选几个
numbers.sample(3)

# unique方法返回一个NumPy ndarry,其中包含Series中的唯一值,即求集合
author = pd.Series(
    ["A", "B", "C", "D", "A"]
)
author.unique()

注意,只要数据源中有缺失值,Pandas就会讲整数强制转化为浮点数

算数运算
s1 = pd.Series(data = [5, np.nan, 15], index = ["A", "B", "C"])

# 加法
s1 + 3
s1.add(3)

# 减法
s1 - 5
s1.sub(5)
s1.subtract(5)

# 乘法
s1 * 2
s1.mul(2)
s1.multiply(2)

# 除法
s1 / 2
s1.div(2)
s1.divide(2)

# 整除
s1 // 4
s1.floordic(4)

同一个分类中的不同表述方式最终实现的效果是一样的

关注公众号小辛到处学,发送1,获取文中的数据资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值