Python酷库之旅-第三方库Pandas(121)

news2024/11/13 19:19:24

目录

一、用法精讲

536、pandas.DataFrame.set_axis方法

536-1、语法

536-2、参数

536-3、功能

536-4、返回值

536-5、说明

536-6、用法

536-6-1、数据准备

536-6-2、代码示例

536-6-3、结果输出

537、pandas.DataFrame.set_index方法

537-1、语法

537-2、参数

537-3、功能

537-4、返回值

537-5、说明

537-6、用法

537-6-1、数据准备

537-6-2、代码示例

537-6-3、结果输出

538、pandas.DataFrame.tail方法

538-1、语法

538-2、参数

538-3、功能

538-4、返回值

538-5、说明

538-6、用法

538-6-1、数据准备

538-6-2、代码示例

538-6-3、结果输出

539、pandas.DataFrame.xs方法

539-1、语法

539-2、参数

539-3、功能

539-4、返回值

539-5、说明

539-6、用法

539-6-1、数据准备

539-6-2、代码示例

539-6-3、结果输出

540、pandas.DataFrame.get方法

540-1、语法

540-2、参数

540-3、功能

540-4、返回值

540-5、说明

540-6、用法

540-6-1、数据准备

540-6-2、代码示例

540-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

536、pandas.DataFrame.set_axis方法
536-1、语法
# 536、pandas.DataFrame.set_axis方法
pandas.DataFrame.set_axis(labels, *, axis=0, copy=None)
Assign desired index to given axis.

Indexes for column or row labels can be changed by assigning a list-like or Index.

Parameters:
labelslist-like, Index
The values for the new index.

axis{0 or ‘index’, 1 or ‘columns’}, default 0
The axis to update. The value 0 identifies the rows. For Series this parameter is unused and defaults to 0.

copybool, default True
Whether to make a copy of the underlying data.

Note

The copy keyword will change behavior in pandas 3.0. Copy-on-Write will be enabled by default, which means that all methods with a copy keyword will use a lazy copy mechanism to defer the copy and ignore the copy keyword. The copy keyword will be removed in a future version of pandas.

You can already get the future behavior and improvements through enabling copy on write pd.options.mode.copy_on_write = True

Returns:
DataFrame
An object of type DataFrame.
536-2、参数

536-2-1、labels(必须)数组或列表,要赋予DataFrame或Series新的标签列表,标签的数量必须与原轴上元素的数量相同。

536-2-2、axis(可选,默认值为0)整数或字符串,指定要设置标签的轴。

  • 0或'index':对应DataFrame的行。
  • 1或 'columns':对应DataFrame的列。

536-2-3、copy(可选,默认值为None)布尔值,指定是否返回副本,默认情况下,copy参数为None,这意味着仅在labels不合适时才进行复制。

  • 若copy=True,则在任何情况下都返回副本。
  • 若copy=False,则在任何情况下都不返回副本。
536-3、功能

        更改DataFrame行或列的标签(名称),这对于数据预处理或清理非常重要,例如重命名列、调整索引等。

536-4、返回值

        返回一个新的DataFrame或Series,对应轴的标签已被设置为新提供的标签,如果inplace=True,则修改原来的DataFrame或Series,并返回None。

536-5、说明

        无

536-6、用法
536-6-1、数据准备
536-6-2、代码示例
# 536、pandas.DataFrame.set_axis方法
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
}, index=['a', 'b', 'c'])
print("原始DataFrame:\n", df)
# 设置新的列标签
new_labels = ['alpha', 'beta', 'gamma']
df1 = df.set_axis(new_labels, axis=1)
print("\n设置新的列标签:\n", df1)
# 设置新的行标签
new_index = ['one', 'two', 'three']
df2 = df.set_axis(new_index, axis=0)
print("\n设置新的行标签:\n", df2)
# 设置新的行标签,使用copy=False确保不进行复制
df.set_axis(new_index, axis=0, copy=False)
print("\n使用inplace设置新的行标签:\n", df)
536-6-3、结果输出
# 536、pandas.DataFrame.set_axis方法
# 原始DataFrame:
#     A  B  C
# a  1  4  7
# b  2  5  8
# c  3  6  9
# 
# 设置新的列标签:
#     alpha  beta  gamma
# a      1     4      7
# b      2     5      8
# c      3     6      9
# 
# 设置新的行标签:
#         A  B  C
# one    1  4  7
# two    2  5  8
# three  3  6  9
# 
# 使用inplace设置新的行标签:
#     A  B  C
# a  1  4  7
# b  2  5  8
# c  3  6  9
537、pandas.DataFrame.set_index方法
537-1、语法
# 537、pandas.DataFrame.set_index方法
pandas.DataFrame.set_index(keys, *, drop=True, append=False, inplace=False, verify_integrity=False)
Set the DataFrame index using existing columns.

Set the DataFrame index (row labels) using one or more existing columns or arrays (of the correct length). The index can replace the existing index or expand on it.

Parameters:
keys
label or array-like or list of labels/arrays
This parameter can be either a single column key, a single array of the same length as the calling DataFrame, or a list containing an arbitrary combination of column keys and arrays. Here, “array” encompasses Series, Index, np.ndarray, and instances of Iterator.

drop
bool, default True
Delete columns to be used as the new index.

append
bool, default False
Whether to append columns to existing index.

inplace
bool, default False
Whether to modify the DataFrame rather than creating a new one.

verify_integrity
bool, default False
Check the new index for duplicates. Otherwise defer the check until necessary. Setting to False will improve the performance of this method.

Returns:
DataFrame or None
Changed row labels or None if inplace=True.
537-2、参数

537-2-1、keys(必须)单个列名(字符串)或列名的列表,该参数指定一个或多个列名(字符串、列表或数组)用于作为新的索引,可以是DataFrame的列名,也可以是列的序列。

537-2-2、drop(可选,默认值为True)布尔值,指定是否在设置索引后删除用于设置索引的列,默认值为True,表示删除这些列;如果设置为False,则保留这些列。

537-2-3、append(可选,默认值为False)布尔值,如果为True,新的索引将附加到现有索引上,而不是替换掉现有的索引。

537-2-4、inplace(可选,默认值为False)布尔值,如果为True,则在原始DataFrame上进行修改,而不是返回一个新的DataFrame。

537-2-5、verify_integrity(可选,默认值为False)布尔值,如果为True,检查设置的新索引是否有重复值,如果有重复值,将引发错误。

537-3、功能

        用于将指定的列设置为DataFrame的索引,通过设置索引,可以提高数据的查询速度,并且可以通过索引更方便地进行数据操作。此外,通过设置合适的索引,可以使数据分析和可视化更加直观。

537-4、返回值

        如果inplace参数为False,返回一个新的DataFrame,新的DataFrame会将指定的列作为索引;如果inplace为True,则返回值为None,原始DataFrame将被修改。

537-5、说明

        无

537-6、用法
537-6-1、数据准备
537-6-2、代码示例
# 537、pandas.DataFrame.set_index方法
import pandas as pd
# 创建一个示例DataFrame
data = {
    'A': [1, 2, 3],
    'B': ['a', 'b', 'c'],
    'C': [4, 5, 6]
}
df = pd.DataFrame(data)
# 使用set_index设置'A'列为索引
new_df = df.set_index('A')
print(new_df)
537-6-3、结果输出
# 537、pandas.DataFrame.set_index方法
#    B  C
# A      
# 1  a  4
# 2  b  5
# 3  c  6
538、pandas.DataFrame.tail方法
538-1、语法
# 538、pandas.DataFrame.tail方法
pandas.DataFrame.tail(n=5)
Return the last n rows.

This function returns last n rows from the object based on position. It is useful for quickly verifying data, for example, after sorting or appending rows.

For negative values of n, this function returns all rows except the first |n| rows, equivalent to df[|n|:].

If n is larger than the number of rows, this function returns all rows.

Parameters:
n
int, default 5
Number of rows to select.

Returns:
type of caller
The last n rows of the caller object.
538-2、参数

538-2-1、n(可选,默认值为5)整数,指定要返回的最后几行的数量,如果传入的值为负数,则返回空的DataFrame;如果DataFrame的行数少于n,则返回整个DataFrame。

538-3、功能

        从DataFrame中提取最后几行数据,这在数据查看和分析时非常有用,通常用于快速检查数据的底部,以更好地理解数据的分布或进行后续操作。

538-4、返回值

        返回一个新的DataFrame,其中包括原始DataFrame的最后n行,如果n大于DataFrame的行数,则返回整个DataFrame;如果n为负数,则返回空的DataFrame。

538-5、说明

        无

538-6、用法
538-6-1、数据准备
538-6-2、代码示例
# 538、pandas.DataFrame.tail方法
import pandas as pd
# 创建一个示例DataFrame
data = {
    'A': [1, 2, 3, 4, 5, 6],
    'B': ['a', 'b', 'c', 'd', 'e', 'f'],
    'C': [7, 8, 9, 10, 11, 12]
}
df = pd.DataFrame(data)
# 使用tail方法获取最后3行
last_rows = df.tail(3)
print(last_rows)
538-6-3、结果输出
# 538、pandas.DataFrame.tail方法
#    A  B   C
# 3  4  d  10
# 4  5  e  11
# 5  6  f  12
539、pandas.DataFrame.xs方法
539-1、语法
# 539、pandas.DataFrame.xs方法
pandas.DataFrame.xs(key, axis=0, level=None, drop_level=True)
Return cross-section from the Series/DataFrame.

This method takes a key argument to select data at a particular level of a MultiIndex.

Parameters:
key
label or tuple of label
Label contained in the index, or partially in a MultiIndex.

axis
{0 or ‘index’, 1 or ‘columns’}, default 0
Axis to retrieve cross-section on.

level
object, defaults to first n levels (n=1 or len(key))
In case of a key partially contained in a MultiIndex, indicate which levels are used. Levels can be referred by label or position.

drop_level
bool, default True
If False, returns object with same levels as self.

Returns:
Series or DataFrame
Cross-section from the original Series or DataFrame corresponding to the selected index levels.
539-2、参数

539-2-1、key(必须)任意数据类型,指要选择的数据的键值,可以是单个值或多级索引的特定值。

539-2-2、axis(可选,默认值为0)整数,指定选择的轴,默认为0(行);如果设置为1,则表示选择列。

539-2-3、level(可选,默认值为None)整数或字符串,如果DataFrame是多层索引,使用此参数可以指定要提取的层级,可以是层级的名称或层级的数字索引。

539-2-4、drop_level(可选,默认值为True)布尔值,指定是否从结果中删除所选择的索引级别,默认为True,表示删除选择的级别。

539-3、功能

        用于从多层索引的DataFrame中提取特定数据,特别是在处理复杂的层次结构数据时非常有用,可以根据指定的键值和快速定位所需数据。

539-4、返回值

        返回一个DataFrame或Series,具体取决于所选择的数据,如果选择的是单个值且drop_level为True,则返回的是Series;如果选择多层,则返回DataFrame。

539-5、说明

        无

539-6、用法
539-6-1、数据准备
539-6-2、代码示例
# 539、pandas.DataFrame.xs方法
import pandas as pd
# 创建一个多层索引的示例DataFrame
arrays = [['A', 'A', 'B', 'B'], ['one', 'two', 'one', 'two']]
index = pd.MultiIndex.from_arrays(arrays, names=('first', 'second'))
# 注意value列的值数量应该对应索引数量
data = {'value': [1, 2, 3, 4]}
df = pd.DataFrame(data, index=index)
# 使用xs方法选择'A'组的所有数据
result = df.xs('A', level='first')
print(result)
539-6-3、结果输出
# 539、pandas.DataFrame.xs方法
#         value
# second       
# one         1
# two         2
540、pandas.DataFrame.get方法
540-1、语法
# 540、pandas.DataFrame.get方法
pandas.DataFrame.get(key, default=None)
Get item from object for given key (ex: DataFrame column).

Returns default value if not found.

Parameters:
key
object
Returns:
same type as items contained in object.
540-2、参数

540-2-1、key(必须)字符串,指要获取的列名。

540-2-2、default(可选,默认值为None)如果列不存在时返回的值,也可以指定为其他值。

540-3、功能

        用于从DataFrame中获取指定列的值,当指定的列存在时,它返回该列的值;如果列不存在,它返回一个默认值。

540-4、返回值

        如果DataFrame中有指定列,它返回该列的pandas.Series如果列不存在,则返回default参数的值,如果没有指定default,则返回None。

540-5、说明

        无

540-6、用法
540-6-1、数据准备
540-6-2、代码示例
# 540、pandas.DataFrame.get方法
import pandas as pd
# 创建一个DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 获取存在的列'A'
result_a = df.get('A')
print(result_a, end='\n\n')
# 获取不存在的列'C',返回默认None
result_c = df.get('C')
print(result_c, end='\n\n')
# 获取不存在的列'C',自定义默认值'Column not found'
result_c_default = df.get('C', default='Column not found')
print(result_c_default)
540-6-3、结果输出
# 540、pandas.DataFrame.get方法
# 0    1
# 1    2
# 2    3
# Name: A, dtype: int64
# 
# None
# 
# Column not found

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2144618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Games101图形学笔记——着色

Shading Z-buffering(深度缓冲) Shading(着色)画家算法Z-BufferShading(着色)Blinn-Phong Reflectance Model(布林冯反射模型)漫反射能量守恒 着色高光Blinn-Phong Reflection ModelShadingFreq…

Cpp输出多字符常量警告

Cpp输出多字符常量警告 Cpp中用单引号(single quotes)表示单个字符(single character),例如a,$,用双引号(double quotes)表示字符串文本(text),例如"Hello World! " 当在一个单引号里面存在多个字符时,Cpp…

怎么增加音频的音量?这几种方法可以轻松增加音频的音量!

怎么增加音频的音量?在日常生活的纷繁场景中,音频音量偏低的问题往往悄然成为我们不可忽视的困扰,它虽非重大难题,却能在关键时刻带来诸多不便与挑战,设想一下,在喧嚣的街头或拥挤的咖啡馆里,微…

ES分词导致查询结果不准确

问题现象 索引里面有数据,而没有查询出来。 如下图所示,术语库(索引)中里面有一条数据的原文是“层”,而根据完整的原文来查询该原文中的术语,并未将该术语查询出来。 根据原文查询该原文中的术语&#x…

FreeRTOS学习——接口宏portmacro.h

FreeRTOS学习——接口宏portmacro.h,仅用于记录自己阅读与学习源码 FreeRTOS Kernel V10.5.1 portmacro版本:GCC/ARM_CM7 portmacro.h是什么 portmacro.h头文件,用于定义与特定硬件平台相关的数据类型和常量。 在移植过程中,…

VulhubDC-4靶机详解

项目地址 https://download.vulnhub.com/dc/DC-4.zip实验过程 将下载好的靶机导入到VMware中,设置网络模式为NAT模式,然后开启靶机虚拟机 使用nmap进行主机发现,获取靶机IP地址 nmap 192.168.47.1-254根据对比可知DC-4的一个ip地址为192.1…

无人机光电吊舱的技术!!

1. 成像技术 可见光成像:通过高分辨率相机捕捉地面或空中目标的清晰图像,提供直观的视觉信息。 红外热成像:利用红外辐射探测目标的温度分布,实现夜间或恶劣天气条件下的隐蔽目标发现。 多光谱成像:通过不同波段的光…

日用百货小程序如何渠道经营开店

将货更多的卖出去是每位商家的心声,日用百货商家手中的货具备多样性,挑选的用户也多,由于货单价较低,因此不断获客并其多买/复购/留存/裂变等是长期发展的关键点。 如何获得更多经营渠道,线上找寻出路是方法之一&…

ROS和ROS2借助智能大模型的学习和研究方法

机器人相关知识的本身和价值-CSDN博客 知识本身在智能时代毫无价值,需要基于知识应用和创新才有价值。 学历报废并非来自扩招,而是智能模型的快速发展。-CSDN blink-领先的开发者技术社区 2024年中秋,智能模型实力已经如此,但还…

智算筑基,九章云极DataCanvas公司闪耀2024年服贸会

9月12日,2024年中国国际服务贸易交易会(以下简称“服贸会”)在北京隆重开幕,九章云极DataCanvas公司携AI智算产品系列深度参展本届服贸会,为观众奉上技术与应用深度融合的参展盛宴。 本届服贸会由中华人民共和国商务部…

文心一言 VS 讯飞星火 VS chatgpt (349)-- 算法导论23.2 8题

八、Borden教授提出了一个新的分治算法来计算最小生成树。该算法的原理如下:给定图 G ( V , E ) G(V,E) G(V,E),将 V V V划分为两个集合 V 1 V_1 V1​和 V 2 V_2 V2​,使得 ∣ V 1 ∣ |V_1| ∣V1​∣和 ∣ V 2 ∣ |V_2| ∣V2​∣的差最多为1。设 E 1 E_…

2.使用 VSCode 过程中的英语积累 - Edit 菜单(每一次重点积累 5 个单词)

前言 学习可以不局限于传统的书籍和课堂,各种生活的元素也都可以做为我们的学习对象,本文将利用 VSCode 页面上的各种英文元素来做英语的积累,如此做有 3 大利 这些软件在我们工作中是时时刻刻接触的,借此做英语积累再合适不过&a…

【每日刷题】Day124

【每日刷题】Day124 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCR 079. 子集 - 力扣(LeetCode) 2. 1863. 找出所有子集的异或总和再求和 …

超详细超实用!!!零基础java开发之云风笔记接口开发之删除笔记(十一)

云风网 云风笔记 云风知识库 一、service/NoteApi新增delNode接口定义 public interface NoteApi {...int deleteNote(NoteManage noteManage); }二、service/impl/NoteServiceImpl接口实现逻辑 public class NoteServiceImpl implements NoteApi {AutowiredNoteMapper note…

LVM硬盘挂载

LVM硬盘挂载 一、基础概念 sda/sdb/nvme0n1/nvme0n2: 硬盘的命名方式,中括号的字母为第三位按不同硬盘的加载顺序排序。sda1/sda2/sdb1: 第4位为分区号,数字为不同分区的依序命名lvm: LVM是一种逻辑卷管理器,允许管理…

springboot实战学习笔记(2)

目录 1、手动创建springboot工程,选择Maven构建。 2、Maven生成的,可能需要再main目录下new一个resources目录,再在其下目录new一个配置文件。 3、 pom文件中让当前的工程继承父工程依赖:、删去无用依赖。 4、引入后端环境所需要的…

STL,智能指针和线程安全,线程安全的单例模式和懒汉饿汉的实现,以及读者写者问题

🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 📚STL,智能指针和线程安全 📕STL中的容器是否是线程安全的?💡智能指针是否是线程安全…

【C语言零基础入门篇 - 7】:拆解函数的奥秘:定义、声明、变量,传递须知,嵌套玩转,递归惊艳

文章目录 函数函数的定义与声明局部变量和全局变量、静态变量静态变量和动态变量函数的值传递函数参数的地址传值 函数的嵌套使用函数的递归调用 函数 函数的定义与声明 函数的概念:函数是C语言项目的基本组成单位。实现一个功能可以封装一个函数来实现。定义函数的…

图片转PDF技巧揭秘:四款高效工具推荐!

在数字化办公和学习的今天,将图片或其他文件格式转换为PDF已成为一种常见需求。以下是几款推荐的转换工具,它们各自具有独特的功能和使用体验,可帮助大家轻松实现图片转PDF及其他PDF相关操作。 福昕PDF转换大师(365客户端&#x…

关于 Qt运行加载内存较大崩溃添加扩大运行内存 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/142341544 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…