欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Python数据分析个人笔记5

Python数据分析个人笔记5

2025/4/26 19:40:47 来源:https://blog.csdn.net/BIN_2011464841/article/details/139513012  浏览:    关键词:Python数据分析个人笔记5

目录

  • Series
    • 一、series 的创建
    • 二、算术运算函数
      • Series.add
      • Series.sub
      • Series.mul
      • Series.div
      • Series.truediv
      • Series.floordiv
      • Series.mod
      • Series.pow
    • 三、比较运算函数
      • Series.lt
      • Series.gt
      • Series.le
      • Series.ge
      • Series.ne
      • Series.eq
    • 四、统计学函数
      • Series.describe()
      • Series.value_counts()
      • Series.count()
      • Series.mean()
      • Series.max()
      • Series.var()
      • Series.nlargest()
    • 五、选择重新索引
      • Series.drop
      • Series.head
      • Series.tail
      • Series.where
      • Series.mask
      • Series.idxmax
      • Series.argmax

Series

Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。

Series 由索引(index)和列组成,函数如下:

pandas.Series( data, index, dtype, name, copy)

参数说明:

  • data:一组数据(ndarray 类型)。
  • index:数据索引标签,如果不指定,默认从 0 开始。
  • dtype:数据类型,默认会自己判断。
  • name:设置名称。
  • copy:拷贝数据,默认为 False。

一、series 的创建

# 导包
import numpy as np
import pandas as pd# 创建
arr01 = np.array([1,2,3,4,6,6])
ser01 = pd.Series(data=arr01, index=['a','b','c','d','e','f'])arr02 = np.ones(shape=(6,))
ser02 = pd.Series(data=arr02, index=['a','b','c','d','e','f'])
# 输出ser01
a    1
b    2
c    3
d    4
e    6
f    6
dtype: int32# 输出ser02
a    1.0
b    1.0
c    1.0
d    1.0
e    1.0
f    1.0
dtype: float64

二、算术运算函数

基本的算术运算是四则运算(加、减、乘、除)和乘方等。Pandas中都实现了对应的算术运算函数,如add()、sub()、mul()、div()等,常用的算术运算函数见下表。

算术运算函数用法介绍(以DataFrame为例)描述
add()df1.add(df2)df1与df2进行加法运算
radd()df1.radd(df2)df2与df1进行加法运算
sub()df1.sub(df2)用df1减df2
rsub()df1.rsub(df2)用df2减df1
mul()df1.mul(df2)df1与df2进行乘法运算
rmul()df1.rmul(df2)df2与df1进行乘法运算
div()df1.div(df2)用df1除df2
rdiv()df1.rdiv(df2)用df2除df1
truediv()df1.truediv(df2)用df1除df2
rtruediv()df1.rtruediv(df2)用df2除df1
floordiv()df1.floordiv(df2)用df1除df2,取整除
rfloordiv()df1.rfloordiv(df2)用df2除df1,取整除
mod()df1.mod(df2)用df1除df2,取余数
rmod()df1.rmod(df2)用df2除df1,取余数
pow()df1.pow(df2)计算df1的df2次方,df1^df2
rpow()df1.rpow(df2)计算df2的df1次方,df2^df1

Series.add

语法:

Series.add(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列和数的运算
ser01.add(10)
# 输出
a    11
b    12
c    13
d    14
e    15
f    16
dtype: int32# 系列和系列的运算
ser01.add(ser02)
# 输出
a    2.0
b    3.0
c    4.0
d    5.0
e    6.0
f    7.0
dtype: float64

Series.sub

语法:

Series.sub(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列和数的运算
ser01.sub(1)
# 输出
a    0
b    1
c    2
d    3
e    5
f    5
dtype: int32# 系列和系列的运算
ser01.sub(ser02)
# 输出
a    0.0
b    1.0
c    2.0
d    3.0
e    5.0
f    5.0
dtype: float64

Series.mul

语法:

Series.mul(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列和数的运算
ser01.mul(2)
# 输出
a     2
b     4
c     6
d     8
e    12
f    12
dtype: int32# 系列和系列的运算
ser01.mul(ser02)
# 输出
a    1.0
b    2.0
c    3.0
d    4.0
e    6.0
f    6.0
dtype: float64

Series.div

语法:

Series.div(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列和数的运算
ser01.div(2)
# 输出
a    0.5
b    1.0
c    1.5
d    2.0
e    3.0
f    3.0
dtype: float64# 系列和系列的运算
ser01.div(ser02)
# 输出
a    1.0
b    2.0
c    3.0
d    4.0
e    6.0
f    6.0
dtype: float64

Series.truediv

语法:

Series.truediv(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列和数的运算
ser01.truediv(10)
# 输出
a    0.1
b    0.2
c    0.3
d    0.4
e    0.6
f    0.6
dtype: float64# 系列和系列的运算
ser01.truediv(ser02)
# 输出
a    1.0
b    2.0
c    3.0
d    4.0
e    6.0
f    6.0
dtype: float64

Series.floordiv

语法:

Series.floordiv(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列和数的运算
ser01.truediv(3)
# 输出
a    0.333333
b    0.666667
c    1.000000
d    1.333333
e    2.000000
f    2.000000
dtype: float64# 系列和系列的运算
ser01.truediv(ser02)
# 输出
a    1.0
b    2.0
c    3.0
d    4.0
e    6.0
f    6.0
dtype: float64

Series.mod

语法:

Series.mod(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列和数的运算
ser01.mod(3)
# 输出
a    1
b    2
c    0
d    1
e    0
f    0
dtype: int32# 系列和系列的运算
ser01.mod(ser02)
# 输出
a    0.0
b    0.0
c    0.0
d    0.0
e    0.0
f    0.0
dtype: float64

Series.pow

语法:

Series.pow(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列和数的运算
ser01.pow(3)
# 输出
a      1
b      8
c     27
d     64
e    216
f    216
dtype: int32# 系列和系列的运算
ser01.pow(ser02)
# 输出
a    1.0
b    2.0
c    3.0
d    4.0
e    6.0
f    6.0
dtype: float64

三、比较运算函数

比较运算函数用法介绍(以DataFrame为例)描述
Series.ltdf1.lt(df2)<
Series.gtdf1.gt(df2)>
Series.ledf1.le(df2)<=
Series.gedf1.ge(df2)>=
Series.nedf1.ne(df2)!=
Series.eqdf1.eq(df2)==

Series.lt

语法:

Series.gt(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列比较
ser01.lt(ser02)
# 输出
a    False
b    False
c    False
d    False
e    False
f    False
dtype: bool

Series.gt

语法:

Series.gt(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列比较
ser01.gt(ser02)
# 输出
a    False
b     True
c     True
d     True
e     True
f     True
dtype: bool

Series.le

语法:

Series.gt(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列比较
ser01.le(ser02)
# 输出
a     True
b    False
c    False
d    False
e    False
f    False
dtype: bool

Series.ge

语法:

Series.gt(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列比较
ser01.ge(ser02)
# 输出
a    True
b    True
c    True
d    True
e    True
f    True
dtype: bool

Series.ne

语法:

Series.gt(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列比较
ser01.ne(ser02)
# 输出
a    False
b     True
c     True
d     True
e     True
f     True
dtype: bool

Series.eq

语法:

Series.gt(other, level=None, fill_value=None, axis=0)

参数:

  • other :Series or scalar value
  • level :int or name
  • fill_value :None or float value, default None (NaN)

举例:

# 系列比较
ser01.eq(ser02)
# 输出
a     True
b    False
c    False
d    False
e    False
f    False
dtype: bool

四、统计学函数

统计学函数描述
Series.describe()描述统计分析
Series.value_counts()统计值的频数
Series.count()频数
Series.mean()平均值
Series.max()最大值
Series.var()返回请求轴上的无偏方差
Series.nlargest()返回最大的n 个元素

Series.describe()

语法:

Series.describe(percentiles=None, include=None, exclude=None, datetime_is_numeric=False)

参数:

  • percentiles: 列表,可选
  • include: “全部”,dtypes 或无(默认)列表,可选
  • exclude: dtypes 或 None (默认)的类似列表,可选
  • datetime_is_numeric: bool,默认 False

举例:

ser01.describe()
# 输出
count    6.000000
mean     3.500000
std      1.870829
min      1.000000
25%      2.250000
50%      3.500000
75%      4.750000
max      6.000000
dtype: float64
ser03 = pd.Series(data=['a','a','a','b','b','c'])
ser03
# 输出
0    a
1    a
2    a
3    b
4    b
5    c
dtype: object

Series.value_counts()

语法:

Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)

参数:

  • normalize :布尔值,默认为 False
  • sort :布尔值,默认 True
  • ascending :布尔值,默认 False
  • bins :int,可选
  • dropna :布尔值,默认为 True

举例:

ser03.value_counts()
# 输出
a    3
b    2
c    1
dtype: int64

Series.count()

语法:

Series.count(level=None)

参数:

  • level :int或级别名称,默认无

举例:

ser03.count()
# 输出
6

Series.mean()

语法:

Series.mean(axis=NoDefault.no_default, skipna=True, level=None, numeric_only=None, **kwargs)

参数:

  • axis :{索引(0)}
  • skipna :布尔值,默认为 True
  • level :int或级别名称,默认无
  • numeric_only :布尔值,默认无
  • **kwargs :要传递给函数的附加关键字参数。

举例:

ser01.mean()
# 输出
3.5

Series.max()

语法:

Series.max(axis=NoDefault.no_default, skipna=True, level=None, numeric_only=None, **kwargs)

参数:

  • axis :{索引(0)}
  • skipna :布尔值,默认为 True
  • level :int或级别名称,默认无
  • numeric_only :布尔值,默认无
  • **kwargs :要传递给函数的附加关键字参数。

举例:

ser01.max()
# 输出
6

Series.var()

语法:

Series.var(axis=None, skipna=None, level=None, ddof=1, numeric_only=None, **kwargs)

参数:

  • axis:{索引(0)}
  • skipna:排除NA /空值。如果整个行/列均为NA,则结果为NA
  • level:如果轴是MultiIndex(分层),则沿特定级别计数,并折叠成标量
  • ddof:Delta自由度。计算中使用的除数为N-ddof,其中N表示元素数。
  • numeric_only:仅包括float,int,boolean列。如果为None,将尝试使用所有内容,然后仅使用数字数据。未针对系列实施。

举例:

ser01.var()
# 输出
4.2666666666666675

Series.nlargest()

语法:

Series.nlargest(n=5, keep=‘first’)

参数:

  • n:整数,默认 5。返回这么多降序排序的值。

  • keep:{‘first’, ‘last’, ‘all’},默认 ‘first’。

    当有重复值不能全部适合一系列n元素时:

    first:按出现的顺序返回前n次出现。

    last:以出现的相反顺序返回最后n次出现。

    all: 保留所有出现。这可能会导致 Series 的大小大于n。

举例:

ser01.nlargest(n=4, keep='last')
# 输出
f    6
e    6
d    4
c    3
dtype: int32

五、选择重新索引

函数描述
Series.drop删除series中的元素
Series.head展示前n条数据
Series.tail展示尾部n条数据
Series.where条件筛选
Series.mask替换
Series.idxmax返回最大值的行标签
Series.argmax

Series.drop

语法:

Series.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=‘raise’)

参数:

  • labels :单标签或list-like
    要删除的索引标签。
  • axis :0,默认 0
    为系列上的应用程序提供冗余。
  • index :单标签或list-like
    Series 上的应用程序冗余,但可以使用 ‘index’ 代替 ‘labels’。
  • columns :单标签或list-like
    系列没有变化;请改用‘index’ or ‘labels’。
  • level :int 或级别名称,可选
    对于 MultiIndex,将删除标签的级别。
  • inplace :布尔值,默认为 False
    如果为 True,则在原地执行操作并返回 None。
  • errors :{‘ignore’, ‘raise’},默认 ‘raise’
    如果‘ignore’,抑制错误并且仅删除现有标签。

举例:

ser01.drop(index=['f','c'], inplace=True)
# 输出
a    1
b    2
d    4
e    6
dtype: int32

Series.head

语法:

Series.head(n=5)

参数:

  • n:整数,默认 5
    要选择的行数。

举例:

ser01.head(2)
# 输出
a    1
b    2
dtype: int32

Series.tail

语法:

Series.tail(n=5)

参数:

  • n:整数,默认 5
    要选择的行数。

举例:

ser01.tail(2)
# 输出
d    4
e    6
dtype: int32

Series.where

语法:

Series.where(cond, other=NoDefault.no_default, inplace=False, axis=None, level=None, errors=NoDefault.no_default, try_cast=NoDefault.no_default)

参数:

  • cond :bool 系列/数据帧,array-like,或可调用
    cond 为 True 时,保留原始值。如果为 False,则替换为来自 other 的相应值。如果cond 是可调用的,它是在系列/数据帧上计算的,并且应该返回布尔系列/数据帧或数组。可调用对象不能更改输入 Series/DataFrame(尽管 pandas 不会检查它)。

  • other:标量、Series/DataFrame 或可调用
    cond 为 False 的条目将替换为来自 other 的相应值。如果 other 是可调用的,它是在 Series/DataFrame 上计算的,并且应该返回标量或 Series/DataFrame。可调用对象不能更改输入 Series/DataFrame(尽管 pandas 不会检查它)。

  • inplace:布尔值,默认为 False
    是否对数据执行就地操作。

  • axis:整数,默认无
    如果需要,对齐轴。

  • level:整数,默认无
    如果需要,对齐级别。

  • errors :str,{‘raise’, ‘ignore’},默认 ‘raise’
    请注意,当前此参数不会影响结果,并且始终会强制转换为合适的 dtype。

    ‘raise’:允许引发异常。

    ‘ignore’:抑制异常。出错时返回原始对象。

  • try_cast:布尔值,默认无
    尝试将结果转换回输入类型(如果可能)。

举例:

ser01.where(ser01>5, 10)
# 输出
a    10
b    10
d    10
e     6
dtype: int32

Series.mask

语法:

Series.mask(cond, other=nan, inplace=False, axis=None, level=None, errors=’raise’, try_cast=False, raise_on_error=None)

参数:

  • cond :如果cond为False,请保留原始值。如果为True,则用其他的相应值替换。
  • other :cond为True的条目将替换为其他条目的对应值。
  • inplace :是否对数据执行适当的操作。
  • axis :对齐轴(如果需要)。
  • level :对齐级别(如果需要)。

举例:

ser01.mask(ser01>5, 10)
# 输出
a     1
b     2
d     4
e    10
dtype: int32

Series.idxmax

语法:

Series.idxmax(axis=0, skipna=True, *args, **kwargs)

参数:

  • skipna :排除NA /空值。如果整个系列为NA,则结果为NA。
  • axis :为了与DataFrame.idxmax兼容。冗余适用于系列。

举例:

ser01.idxmax()
# 输出
'e'

Series.argmax

语法:

Series.argmax(axis=None, skipna=True, *args, **kwargs)

参数:

  • axis:{没有},与 Series 保持一致的伪参数。

  • skipna:布尔值,默认为真,显示结果时排除 NA/null 值。

  • *args, **kwargs:与 NumPy 兼容的附加参数和关键字。

举例:

ser01.argmax()
# 输出
4

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词