python给数据排名(python数据列表)

发布时间:2022-11-14

本文目录一览:

  1. 用python从561473957这一组数据中找出最大值和最小值,并从大到小排列的编程
  2. 用python对10个数进行排序
  3. python数据分析使用的数据
  4. python数据分析模块:numpy、pandas全解
  5. python数据同时排序
  6. python3爬虫爬取中国大学排名数据并写入mysql数据库并添加省分及添加

用python从561473957这一组数据中找出最大值和最小值,并从大到小排列的编程

li = [56, 14, 73, 95, 7]
print('最大值为:{},最小值为:{}'.format(max(li), min(li)))
print(sorted(li, reverse=True))

用python对10个数进行排序

sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

  • by: 可以填入字符串或者字符串组成的列表。也就是说,如果 axis=0,那么 by="列名";如果 axis=1,那么 by="行名"
  • axis: {0 or 'index', 1 or 'columns'}, default 0,意思就是如果 axis=0,就按照索引排序,即纵向排序;如果 axis=1,则按列排序,即横向排序。默认是 axis=0
  • ascending: 输入布尔型,True 是升序,False 是降序,也可以是 [True, False],即第一个字段升序,第二个字段降序。
  • inplace: 输入布尔型,是否用排序后的数据框替换现有的数据框。
  • kind: 排序的方法,{'quicksort', 'mergesort', 'heapsort'},默认是使用 'quicksort'。这个参数用的比较少。
  • na_position: {'first', 'last'},缺失值的排序,决定将缺失值放在数据的最前面还是最后面。first 是排在前面,last 是排在后面,默认是用 last

创建数据表:

scores = pd.DataFrame([[87, 56, 85], [46, 87, 97], [34, 65, 86]],
                      columns=['jack', 'rose', 'mike'])
scores

对 'rose' 这一列进行降序排序:

df_sc = scores.sort_values(by='rose', ascending=False)
df_sc

对 'mike' 这一列进行升序排序:

df_sc = scores.sort_values(by='mike', ascending=True)
df_sc

对第0行进行升序排序:

scores.sort_values(by=0, axis=1, ascending=True)

对第1行进行升序,第0行进行降序:

scores.sort_values(by=[1, 0], axis=1, ascending=[True, False])

python数据分析使用的数据

  1. 对数据进行排序 df.sort_values()
# 读取数据
titanic_survival = pd.read_csv(r"C:\Users\pythonwan\data_mine\python_pandas\titanic_train.csv")
# 用 sort_values() 函数对指定列排序,默认升序排序,inplace=True 表示在原来的 df 上排序
titanic_survival.sort_values("Age", inplace=True)
  1. 缺失值判断及统计 pandas.isnull()
# 当不指定具体列时,统计整个 df 的缺失值个数
titanic_survival['Age'].isnull().sum()

通过 len() 函数统计缺失值 3. 缺失值处理 处理缺失值可以分为两类:删除缺失值和缺失值插补。而缺失值插补又分为以下几种:

  • 均值/中位数/众数插补
  • 使用固定值(将缺失值的属性用一个常量代替)
  • 最近邻插补(在记录中找到与缺失值样本最接近的样本的该属性插补)
  • 回归方法(对带有缺失值的变量,根据已有数据和与其有关的其他变量建立拟合模型来预测缺失值)
  • 插值法(利用已知点建立合适的插值函数 f(x),未知值由对应点 xi 求出来近似代替)

删除缺失值

  1. df.dropna(),舍弃含有任意缺失值的行
# 等价于 titanic_survival.dropna(axis=0),axis=0 表示删除行,axis=1 表示删除列
dropall = titanic_survival.dropna()
# 删除含任意空值的行
  1. df.dropna() 函数删除某个列中含有空值的行
# 现在这个数据中 age、cabin、embarked 都有缺失值,如果我们直接使用 df.dropna() 会删除掉这三列中都有空值的所有行,但是我们希望只删除 age 列中有空值的数据,那该如何处理呢?
# 直接使用 df.dropna(subset=['column_list'])
drop_age_null = titanic_survival.dropna(subset=["Age"])
# 删除指定列中含有缺失值的行

python数据分析模块:numpy、pandas全解

一维数组情况:

二维数组情况:

3参数情况:

2参数情况:

1参数情况:

一维情况:

二维情况:

一维情况:

二维情况:

一维情况:

二维情况:第三个参数指定维度

只查看行数、或者列数

逗号隔开两个索引

某些行

某些列

可以看出 append() 函数在二维数组中添加元素,结果转为了一维数组。那怎么保持二维数组呢?可以设置 axis 参数按行或者按列添加。 可以看出先把二维数组降成了一维数组,再在索引为1的位置添加元素。那么怎么保持在二维添加元素呢?同样设置 axis 参数。 也分按行和按列删除。

标记缺失值:isnan() 函数

补充缺失值:

同样 axis 参数可以指定拼接按行还是按列。

hstack() 函数:以水平堆叠的方式拼接数组

vstack() 函数:以垂直堆叠的方式拼接数组

第二个参数还可以是数组,指定拆分的位置。

hsplit() 函数:横向拆成几个数组

vsplit() 函数:纵向拆成几个数组

数组与数组之间的运算

数组与数值的运算

可以指定整个数组求和,还是按行或者按列:

  • axis=0:每一列的元素求和
  • axis=1:每一行的元素求和
  • axis=0:每一列求均值
  • axis=1:每一行求均值
  • axis=0:每一列求最大值
  • axis=1:每一行求最大值 pandas 有两个重要的数据结构对象:SeriesDataFrame
  • Series 是创建一个一维数组对象,会自动生成行标签。
  • 会自动生成行列标签
  • 也可以用字典形式生成数据
  • 在用字典生成数据的基础上,同时指定行标签 例如对下表的数据进行读取: 4月是第四个表,我们应把 sheet_name 参数指定为3;因为索引是从0开始的。 可以看出 read_excel() 函数自动创建了一个 DataFrame 对象,同时自动把第一行数据当做列标签。 可以看出不给出 header 参数时,该参数默认为0。
  • header=1 时结果如下:
  • header=None 时结果如下:
  • index_col=0 时,第0列为列标签
  • index_col=0
  • usecols=[2]:指定第二列
  • 指定多列
  • 数据如下: 图片
  • nrows=3
  • head() 函数中参数为空默认前5行
  • 指定 head(3) 时如下 numpy 模块也是 shape 查看特定列的书库类型 特定列数据类型转换 先查看一下所有数据 与单行相比,结果显示的格式不一样了

iloc() 挑选:

或者给出区间 挑选数据要么标签,要么索引挑选 或者 或者写成区间

标签挑选

或者索引挑选 先查看一下数据 或者用字典一对一修改 图片

isin() 函数查看表中是否有该值

查看特定列是否有该值 可以看出上述代码并没有替换,那怎么替换呢? 末尾插入一列 指定插入到哪列 axis 参数可以指定删除行还是删除列 指定标签删除 指定索引删除 方法三 指定行标签删除 指定索引删除 方法三: 先查看所有数据 info() 函数查看数据类型,还可以查看是否有缺失值 isnull() 函数查看是否有缺失值 在 numpy 模块中用 isnan() 函数 删除有缺失值的行 删除整行都为缺失值的行:需要指定 how 参数 不同列的缺失值设置不同的填充值 默认保留第一个重复值所在的行,删除其他重复值所在的行 保留第一个重复值所在的行 保留最后一个重复值所在的行 是重复的就删除 降序如下 参数指定 first 时,表示在数据有重复值时,越先出现的数据排名越靠前 获取产品为单肩包的行数据 获取数量60的行数据 获取产品为单肩包 且 数量60 的行数据 获取产品为单肩包 或 数量60 的行数据 stack() 函数转换成树形结构 how 参数指定外连接 on 参数指定按哪一列合并 concat() 函数采用全连接的方式,没有的数设置为缺失值 重置行标签 效果与 concat() 一样 末尾添加行元素 指定列求和 指定列求均值 指定列求最值 获取单列的 corr() 函数获取相关系数 获取指定列与其他列的相关系数 图片 groupby() 函数返回的是一个 DataFrameBy 对象,该对象包含分组后的数据,但是不能直观地显示出来。 分组后获取指定列的汇总情况 获取多列的汇总情况 获取多列的情况

ta = pd.read_excel('相关性分析.xlsx')
print(data)

corr() 函数获取相关系数 获取指定列与其他列的相关系数 groupby() 函数返回的是一个 DataFrameBy 对象,该对象包含分组后的数据,但是不能直观地显示出来。 分组后获取指定列的汇总情况 获取多列的汇总情况 获取多列的情况

python数据同时排序

Python 列表具有内置的 list.sort() 方法,可以在原地修改列表。还有一个 sorted() 内置的函数从迭代构建一个新的排序列表。在本文中,我们将探讨使用 Python 排序数据的各种技术。 请注意,sort() 原始数据被破坏,sorted() 没有对原始数据进行操作,而是新建了一个新数据。

一、基本的排序

最基本的排序很简单。只要使用 sorted() 函数即可返回一个新的排序的列表:

sorted([5, 2, 3, 1, 4])
# [1, 2, 3, 4, 5]

我们也可以使用 list.sort() 方法。该方法是对列表 list 进行的原地操作(原数据被修改)。一般情况下,不如使用 sorted() 方便,但是如果你不需要原列表 list,使用 sort() 会更具效率。

a = [5, 2, 3, 1, 4]
a.sort()
a  # a 发生改变
# [1, 2, 3, 4, 5]

另一个不同点,list.sort() 方法只能应用于列表对象数据。而 sorted() 却可以对任何可迭代对象进行排序。也就是说 sorted() 更具有普遍使用性。这里建议初学者使用 sorted()

二、Key 参数函数

list.sort()sorted() 都有 key 参数,可以指定函数来对元素进行排序。 例如,这里我们使用一个字符串(字符串也是可迭代对象):

sorted("This is a test string from Andrew".split(), key=str.lower)

python3爬虫爬取中国大学排名数据并写入mysql数据库并添加省分及添加

网络爬虫(又称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。