工作需要,查询某一列中的最大值所对应的索引。强大的pandas早就为我们写好了封装函数: idxmax()、idxmin()
举个栗子:
先随便生成一个数据结构test
输出结果:
调用函数dataframeidxmax(axis=0,skipna=True), 参数axis指定寻找最值的方向,按照行的方式或者列的方式
输出:
哒哒~!就找到了以列为方式的最大的num的索引为6,year的索引为5
导入 Pandas:
查看 Pandas 版本信息:
Pandas 的数据结构:Pandas 主要有 Series(一维数组),DataFrame(二维数组),Panel(三维数组),Panel4D(四维数组),PanelND(更多维数组)等数据结构。其中 Series 和 DataFrame 应用的最为广泛。
Series 是一维带标签的数组,它可以包含任何数据类型。包括整数,字符串,浮点数,Python 对象等。Series 可以通过标签来定位。
DataFrame 是二维的带标签的数据结构。我们可以通过标签来定位数据。这是 NumPy 所没有的。
Pandas 中,Series 可以被看作由 1 列数据组成的数据集。
创建 Series 语法:s = pdSeries(data, index=index),可以通过多种方式进行创建,以下介绍了 3 个常用方法。
从列表创建 Series:
从 Ndarray 创建 Series:
从字典创建 Series:
修改 Series 索引:
Series 纵向拼接:
Series 按指定索引删除元素:
Series 修改指定索引元素:
Series 按指定索引查找元素:
Series 切片 *** 作:
Series 加法运算:
Series 的加法运算是按照索引计算,如果索引不同则填充为 NaN(空值)。
Series 减法运算:
Series的减法运算是按照索引对应计算,如果不同则填充为 NaN(空值)。
Series 乘法运算:
Series 的乘法运算是按照索引对应计算,如果索引不同则填充为 NaN(空值)。
Series 除法运算:
Series 的除法运算是按照索引对应计算,如果索引不同则填充为 NaN(空值)。
Series 求中位数:
Series 求和:
Series 求最大值:
Series 求最小值:
与 Sereis 不同,DataFrame 可以存在多列数据。一般情况下,DataFrame 也更加常用。
通过 NumPy 数组创建 DataFrame:
通过字典数组创建 DataFrame:
查看 DataFrame 的数据类型:
预览 DataFrame 的前 5 行数据:
查看 DataFrame 的后 3 行数据:
查看 DataFrame 的索引:
查看 DataFrame 的列名:
查看 DataFrame 的数值:
查看 DataFrame 的统计数据:
DataFrame 转置 *** 作:
对 DataFrame 进行按列排序:
对 DataFrame 数据切片:
对 DataFrame 通过标签查询(单列):
对 DataFrame 通过标签查询(多列):
对 DataFrame 通过位置查询:
DataFrame 副本拷贝:
判断 DataFrame 元素是否为空:
添加列数据:
根据 DataFrame 的下标值进行更改。:
根据 DataFrame 的标签对数据进行修改:
DataFrame 求平均值 *** 作:
对 DataFrame 中任意列做求和 *** 作:
将字符串转化为小写字母:
将字符串转化为大写字母:
对缺失值进行填充:
删除存在缺失值的行:
DataFrame 按指定列对齐:
CSV 文件写入:
CSV 文件读取:
Excel 写入 *** 作:
Excel 读取 *** 作:
建立一个以 2018 年每一天为索引,值为随机数的 Series:
统计s 中每一个周三对应值的和:
统计s中每个月值的平均值:
将 Series 中的时间进行转换(秒转分钟):
UTC 世界时间标准:
转换为上海所在时区:
不同时间表示方式的转换:
创建多重索引 Series:
构建一个 letters = ['A', 'B', 'C'] 和 numbers = list(range(10))为索引,值为随机数的多重索引 Series。
多重索引 Series 查询:
多重索引 Series 切片:
根据多重索引创建 DataFrame:
创建一个以 letters = ['A', 'B'] 和 numbers = list(range(6))为索引,值为随机数据的多重索引 DataFrame。
多重索引设置列名称:
DataFrame 多重索引分组求和:
DataFrame 行列名称转换:
DataFrame 索引转换:
DataFrame 条件查找:
查找 age 大于 3 的全部信息
根据行列索引切片:
DataFrame 多重条件查询:
查找 age<3 且为 cat 的全部数据。
DataFrame 按关键字查询:
DataFrame 按标签及列名查询。:
DataFrame 多条件排序:
按照 age 降序,visits 升序排列
DataFrame 多值替换:
将 priority 列的 yes 值替换为 True,no 值替换为 False。
DataFrame 分组求和:
使用列表拼接多个 DataFrame:
找出 DataFrame 表中和最小的列:
DataFrame 中每个元素减去每一行的平均值:
DataFrame 分组,并得到每一组中最大三个数之和:
当分析庞大的数据时,为了更好的发掘数据特征之间的关系,且不破坏原数据,就可以利用透视表 pivot_table 进行 *** 作。
透视表的创建:
新建表将 A, B, C 列作为索引进行聚合。
透视表按指定行进行聚合:
将该 DataFrame 的 D 列聚合,按照 A,B 列为索引进行聚合,聚合的方式为默认求均值。
透视表聚合方式定义:
上一题中 D 列聚合时,采用默认求均值的方法,若想使用更多的方式可以在 aggfunc 中实现。
透视表利用额外列进行辅助分割:
D 列按照 A,B 列进行聚合时,若关心 C 列对 D 列的影响,可以加入 columns 值进行分析。
透视表的缺省值处理:
在透视表中由于不同的聚合方式,相应缺少的组合将为缺省值,可以加入 fill_value 对缺省值处理。
在数据的形式上主要包括数量型和性质型,数量型表示着数据可数范围可变,而性质型表示范围已经确定不可改变,绝对型数据就是性质型数据的一种。
绝对型数据定义:
对绝对型数据重命名:
重新排列绝对型数据并补充相应的缺省值:
对绝对型数据进行排序:
对绝对型数据进行分组:
缺失值拟合:
在FilghtNumber中有数值缺失,其中数值为按 10 增长,补充相应的缺省值使得数据完整,并让数据为 int 类型。
数据列拆分:
其中From_to应该为两独立的两列From和To,将From_to依照_拆分为独立两列建立为一个新表。
字符标准化:
地点的名字都不规范(如:londON应该为London)需要对数据进行标准化处理。
删除坏数据加入整理好的数据:
将最开始的 From_to 列删除,加入整理好的 From 和 to 列。
去除多余字符:
如同 airline 列中许多数据有许多其他字符,会对后期的数据分析有较大影响,需要对这类数据进行修正。
格式规范:
在 RecentDelays 中记录的方式为列表类型,由于其长度不一,这会为后期数据分析造成很大麻烦。这里将 RecentDelays 的列表拆开,取出列表中的相同位置元素作为一列,若为空值即用 NaN 代替。
信息区间划分:
班级一部分同学的数学成绩表,如下图所示
但我们更加关心的是该同学是否及格,将该数学成绩按照是否>60来进行划分。
数据去重:
一个列为A的 DataFrame 数据,如下图所示
尝试将 A 列中连续重复的数据清除。
数据归一化:
有时候,DataFrame 中不同列之间的数据差距太大,需要对其进行归一化处理。
其中,Max-Min 归一化是简单而常见的一种方式,公式如下:
Series 可视化:
DataFrame 折线图:
DataFrame 散点图:
DataFrame 柱形图:
在进行下面的题目 *** 作时,一定要先导入上面的两个数据分析包 pandas、numpy
1 如何用Python的列表创建一个series
输出:
一个series是一个一维的标记数组,可以容纳任何数据类型(整数、字符串、浮点数、Python对象等)。必须记住,与Python列表不同,一个series总是包含相同类型的数据。
2如何使用列表创建一个DataFrame
输出:
3如何使用Series 字典对象生成 DataFrame
输出:
4如何在pandas中创建一个空的DataFrame?
要创建一个完全空的pandas dataframe,我们使用以下 *** 作:
输出:
已知有这样的数据,如何进行查看
输出:
2如何查看尾部数据
3如何快速查看数据的统计摘要
4如何查询索引和列名
1简述Pandas Index
在panda中建立索引意味着简单地从DataFrame中选择特定的数据行和列。
pandas支持四种类型的多轴索引,它们是:
它们统称为索引器。这些是迄今为止索引数据最常见的方法。这四个函数有助于从DataFrame获取元素、行和列。
2Pandas 定义重新索引(Reindexing)
重新索引会更改DataFrame的行标签和列标签。重新索引意味着使数据符合特定轴上给定的一组标签。
多个 *** 作可以通过像这样的索引来完成:
输出:
3如何设置索引?
panda set_index() 是一种将列表、序列或dataframe设置为dataframe索引的方法。
语法:
DataFrameset_index(keys, inplace=False)
参数:
改变索引列
在本例中,名称列被用作DataFrame的索引列
输出:
如输出图像所示,以前索引列是一系列数字
Before Operation –
After Operation
4如何重置索引
Pandas Seriesreset_index()
函数的作用是:生成一个新的DataFrame或带有重置索引的Series。
例1: 使用 Seriesreset_index() 函数重置给定Series对象的索引
输出:
现在,我们将使用Seriesreset_index()函数来重置给定的series对象的索引
输出 :
从输出中可以看到,该 Seriesreset_index() 函数已将给定Series对象的索引重置为默认值。它保留了索引,并将其转换为列。
11先创建数据:
12选择单列,产生 Series
详见 按标签选择 。
21用标签提取一行数据:
详见 按位置选择 。
31用整数位置选择:
41用单列的值选择数据:
51用索引自动对齐新增列的数据:
1如何得到一个数列的最小值、第25百分位、中值、第75位和最大值
输出:
Pandas dataframemean(axis=None) 函数返回所请求轴(axis=0代表对列进行求平均值,axis=1代表对行进行求平均值)的值的平均值。
示例: 使用 mean() 函数查找索引轴上所有观测值的平均值。
输出:
让我们使用datafame mean()函数来查找索引轴上的平均值。
3如何将函数应用到DataFrame中的每个数据元素
可以使用 apply() 函数以便将函数应用于给定dataframe中的每一行。让我们来看看我们完成这项任务的方式。
实例:
输出:
4如何在panda中获得一个DataFrame的行数和列数
输出:
获取df的行和列计数
输出:
5如何在panda DataFrame中获得列值的总和
Pandas dataframesum() 函数返回所请求轴的值的和
语法: DataFramesum(axis=None, skipna=None, )
参数:
示例1: 使用 sum() 函数查找索引轴上所有值的总和
现在求出沿索引轴的所有值的和。我们将跳过计算和时的NaN值。
输出:
如何将新行追加到pandas DataFrame?
Pandas dataframeappend() 函数的作用是:将其他dataframe的行追加到给定的dataframe的末尾,返回一个新的dataframe对象。
语法:
DataFrameappend( ignore_index=False,)
参数:
示例1: 创建两个数据框,然后将第二个附加到第一个。
现在将df2附加到df1的末尾
输出:
请注意,第二个DataFrame的索引值保留在附加的DataFrame中。如果我们不希望发生这种情况,则可以设置ignore_index = True。
输出 :
“group by” 指的是涵盖下列一项或多项步骤的处理流程:
详见 分组 。
输出:
1先分组,再用 sum() 函数计算每组的汇总数据:
输出:
2多列分组后,生成多层索引,也可以应用 sum 函数:
输出:
如何将numpy数组转换为给定形状的DataFrame
输出:
输出:
透视表是一种可以对数据动态排布并且分类汇总的表格格式,在pandas中它被称作pivot_table。
pivot_table(data, values=None, index=None, columns=None)
参数:
详见: 数据透视表
打印输出:
用上述数据生成数据透视表非常简单:
返回结果:
1如何将列添加到pandas DataFrame?
源数据:
输出:
输出:
2如何向panda DataFrame添加索引、行或列
向DataFrame添加索引
如果您创建了一个DataFrame, panda允许将输入添加到索引参数中。它将确保您拥有所需的索引。否则,在默认情况下,DataFrame包含一个数值索引,该索引从0开始,在DataFrame的最后一行结束。
向DataFrame添加行、列
我们可以使用loc、iloc和ix将行、列插入到DataFrame中。
添加具有特定索引名的行:
输出:
3如何在panda DataFrame上进行迭代
您可以通过结合使用for循环和对DataFrame的iterrows()调用来遍历DataFrame的行。
输出:
4我们如何排序DataFrame?
我们可以通过以下几种有效地在DataFrame中执行排序:
(1)按标签
可以使用sort_index()方法对数据dataframe进行排序。可以通过传递axis参数和排序顺序来实现。默认情况下,按升序对行标签进行排序。
以上就是关于pandas.DataFrame 最值索引全部的内容,包括:pandas.DataFrame 最值索引、14Pandas 百题大冲关、最全的pandas面试基础100题目等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)