持续创作,加速生长!这是我参与「日新方案 10 月更文应战」的第4天,点击检查活动概况

留意:本事例运用Jupyter Notebook进行事例演示

1. Pandas数组运算

1.1 核算运算

数据处理中,能够运用以下函数检查数据的基本情况,获取核算学基本数据信息,比方平均值,中位数等,该办法只会针对数据类型的数进行核算核算,关于字符串形式的列无效。

data.describe()

  • 返回值
    • count:样本个数
    • mean:平均值
    • std:标准差
    • min:最小值
    • max:最大值
    • 25%:25%分位数
    • 50%:中位数 — 75%:75%分位数

导入相关库并读取数据:读取数据今后,运用上述函数进行核算核算

import pandas as pd
people = pd.read_csv("data/data140190/人口.csv")
people.describe()

运转成果如下图所示:将核算基本信息进行了核算。

【数据处理】Pandas库:数组运算

.max()函数

  • 能够求数组最大值
  • 默认依照每列进行核算:axis=0

获取数据的最大值:

people.max() # 默认按列求最大值 axis=0

运转成果如下图所示:

【数据处理】Pandas库:数组运算

.idxmax()函数:

  • 能够获取最大值地点的位置
  • 返回地点位置的索引
# 获取最大值地点位置
people.idxmax()

运转成果如下图所示:

【数据处理】Pandas库:数组运算

1.2 累计核算函数

.cumsum()函数

  • 效果主要便是核算轴向的累加和。
  • axis=0:按行累加
  • axis=1:按列累加
  • 能够通俗了解成:返回数组的第n个数便是原数组前n个数的累加

对表中年份那一列进行累加,并将返回的数组绘制成折线图

people["年份"].cumsum()
people["年份"].cumsum().plot()

运转成果如下图所示:留意此步需要导入matplotlib模块,import matplotlib.pyplot as plt

【数据处理】Pandas库:数组运算

1.3 自界说运算

apply(func, axis=0)

  • func:自界说函数
  • axis=0:默认是列,axis=1为行运算

事例:界说每一列最大值-最小值操作

事例中还用到了lambda表达式,在此简略普及一下:

  • 在python中运用lambda表达式表明匿名函数(即没有函数名的函数)
  • lambda在内部只能包括一行代码
  • :后边便是函数体
  • <函数对象名> = lambda <形式参数列表>:<表达式>
people.apply(lambda x: x.max()-x.min())

运转成果如下图所示:

【数据处理】Pandas库:数组运算

1.4 逻辑运算

逻辑运算符号

  1. <<
  2. >>
  3. |
  4. &

1.4.1 逻辑运算符

比方,我想筛选出年份>2010的数据,就用到了逻辑运算符:

people[people["年份"] >2010]

运转成果如下图所示:

【数据处理】Pandas库:数组运算

1.4.2 逻辑运算函数

query(expr)

  • expr:查询字符串 经过query使得刚才的进程更加便利简略

比方,咱们还想判断年份里是否有2018和2019,详细代码如下所示:

people["年份"].isin([2018, 2019])

运转成果如下图所示:True表明是你想要查询的内容,False表明不是你想要查询的内容

【数据处理】Pandas库:数组运算