Python面试十问2

一、如何使用列表创建⼀个DataFrame

# 导入pandas库
import pandas as pd# 创建一个列表,其中包含数据
data = [['A', 1], ['B', 2], ['C', 3]]# 使用pandas的DataFrame()函数将列表转换为DataFrame
df = pd.DataFrame(data, columns=['Letter', 'Number'])  # 列名# 显示创建的DataFrame
print(df)Letter  Number
0      A       1
1      B       2
2      C       3

二、如何使用Series 字典对象生成 DataFrame

# 导入pandas库
import pandas as pd# 创建一个字典对象
data = {'Name': ['Tom', 'Nick', 'John'], 'Age': [20, 21, 19]}# 使用pandas的DataFrame()函数将字典转换为DataFrame
df = pd.DataFrame(data)# 显示创建的DataFrame
print(df)Name  Age
0   Tom   20
1  Nick   21
2  John   19

三、如何查看头部数据和尾部数据

分别是df.head()df.tail()  →默认返回前(后)5条数据。

四、如何快速查看数据的统计摘要

区别df.describe()df.info()

  • df.describe():默认情况下,它会为数值型列提供中心趋势、离散度和形状的统计描述,包括计数、均值、标准差、最小值、下四分位数(25%)、中位数(50%)、上四分位数(75%)以及最大值。此外,你可以通过传递参数来调整df.describe()的行为,例如include参数可以设置为'all'来包含所有列的统计信息,或者设置为'O'来仅包含对象列的统计信息。
  • df.info():主要用于提供关于DataFrame的一般信息,如列索引、数据类型、非空值数量以及内存使用情况。它不会提供数值型数据的统计摘要,而是更多地关注于数据集的整体结构和数据类型。

五、pandas中的索引操作

pandas⽀持四种类型的多轴索引,它们是:
Dataframe.[ ] 此函数称为索引运算符
Dataframe.loc[ ] : 此函数⽤于标签
Dataframe.iloc[ ] : 此函数⽤于基于位置或整数的
Dataframe.ix[] : 此函数⽤于基于标签和整数的

panda set_index()是⼀种将列表、序列或dataframe设置为dataframe索引的⽅法。语法:
DataFrame.set_index(keys, inplace=False)

  • keys:列标签或列标签/数组列表,需要设置为索引的列
  • inplace:默认为False,适当修改DataFrame(不要创建新对象)

如何重置索引 ?

Pandas Series.reset_index()函数的作⽤是:⽣成⼀个新的DataFrame或带有重置索引的Series。

六、pandas的运算操作 

如何得到⼀个数列的最⼩值、第25百分位、中值、第75位和最⼤值?

import pandas as pd
import numpy as np
from numpy import percentile
p = pd.Series(np.random.normal(14, 6, 22))
state = np.random.RandomState(120)
p = pd.Series(state.normal(14, 6, 22))
print(percentile(p, q=[0, 25, 50, 75, 100]))
  • Pandas支持加(+)、减(-)、乘(*)、除(/)、取余(%)等基本算术运算符,可以用于DataFrame和Series之间的元素级运算,以及与标量的运算。
  • Pandas提供了一系列内置函数,如sum()mean()max()min()等,用于对数据进行聚合计算。此外,还可以使用apply()方法将自定义函数应用于DataFrame或Series。
  • 可以使用sort_values()方法对DataFrame或Series进行排序,根据指定的列或行进行升序或降序排列。

七、apply() 函数使用方法

如果需要将函数应⽤到DataFrame中的每个数据元素,可以使⽤ apply() 函数以便将函数应⽤于给定dataframe中的每⼀⾏。

import pandas as pd
def add(a, b, c):return a + b + c
def main():data = {'A':[1, 2, 3],'B':[4, 5, 6],'C':[7, 8, 9] }
df = pd.DataFrame(data)
print("Original DataFrame:\n", df)
df['add'] = df.apply(lambda row : add(row['A'],
row['B'], row['C']), axis = 1)Original DataFrame:A  B  C
0  1  4  7
1  2  5  8
2  3  6  9A  B  C  add
0  1  4  7   12
1  2  5  8   15
2  3  6  9   18

八、pandas的合并操作

如何将新⾏追加到pandas DataFrame?
Pandas dataframe.append()函数的作⽤是:将其他dataframe的⾏追加到给定的dataframe的末尾,返回⼀个新的dataframe对象。

语法:DataFrame.append( ignore_index=False,)
参数:

  • ignore_index : 如果为真,就不要使⽤索引标签 
import pandas as pd
# 使⽤dictionary创建第⼀个Dataframe
df1 =df =pd.DataFrame({"a":[1, 2, 3, 4],"b":[5, 6, 7, 8]})
# 使⽤dictionary创建第⼆个Dataframe
df2 =pd.DataFrame({"a":[1, 2, 3],"b":[5, 6, 7]})
# 现在将df2附加到df1的末尾
df1.append(df2)

第⼆个DataFrame的索引值保留在附加的DataFrame中,设置ignore_index = True可以避免这种情况。

九、分组(Grouping)聚合

“group by” 指的是涵盖下列⼀项或多项步骤的处理流程:

  • 分割:按条件把数据分割成多组;
  • 应⽤:为每组单独应⽤函数;
  • 组合:将处理结果组合成⼀个数据结构。
  1. 先分组,再⽤ sum()函数计算每组的汇总数据 
  2. 多列分组后,⽣成多层索引,也可以应⽤ sum 函数
  3. 分组后可以使用如sum()mean()min()max()等聚合函数来计算每个组的统计值。如果想要对每个分组应用多个函数,可以使用agg()方法,并传入一个包含多个函数名的列表,例如group_1.agg(['sum', 'mean'])

十、数据透视表应用

透视表是⼀种可以对数据动态排布并且分类汇总的表格格式,在pandas中它被称作pivot_table。

透视表是一种强大的数据分析工具,它可以快速地对大量数据进行汇总、分析和呈现。 

pivot_table(data, values=None, index=None, columns=None)

  • Index: 就是层次字段,要通过透视表获取什么信息就按照相应的顺序设置字段
  • Values: 可以对需要的计算数据进⾏筛选
  • Columns: 类似Index可以设置列层次字段,它不是⼀个必要参数,作为⼀种分割数据的可选⽅式。
import pandas as pd# 创建示例数据
data = {'日期': ['2022-01-01', '2022-01-01', '2022-01-02', '2022-01-02'],'产品': ['A', 'B', 'A', 'B'],'地区': ['北京', '上海', '北京', '上海'],'销售额': [100, 200, 150, 250]}
df = pd.DataFrame(data)# 使用pivot_table方法创建数据透视表
pivot_table = df.pivot_table(values='销售额', index='产品', columns='地区', aggfunc='sum')print(pivot_table)# 结果
地区    北京   上海
产品          
A      100   150
B      200   250

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

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

相关文章

华为OD机试 - 会议室占用时间段(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

matlab绘制散点图

在MATLAB中,可以使用scatter函数来绘制散点图。下面是一个简单的例子,说明如何使用scatter函数来绘制散点图。 假设你有一组x坐标和一组y坐标,你想在图上绘制它们: % 创建x和y的随机数据 x randn(1, 100); % 从正态分布中生成…

【iOS】pthread、NSThread

文章目录 前言一、pthread 使用方法pthread 其他相关方法 二、 NSThread创建、启动线程线程相关用法线程状态控制方法NSThread 线程安全和线程同步场景 线程的状态转换 前言 五一这两天准备将GCD相关的知识完,同时NSOperation与NSThread、pthread也是相关知识&…

前端Web开发基础知识

HTML定义 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。 什么是 HTML? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言: HyperText Markup LanguageH…

汇编语言——比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示MATCH, 不相同则显示NO MATCH

CMPS 串比较指令: CMPS SRC, DST CMPSB (字节) CMPSW (字) 执行操作: ((SI)) - ((DI)) 根据比较结果置条件标志位:相等 ZF1;不等 ZF0 字节操作:(SI)←(SI)1, (DI)←(DI…

如何进行Furion项目的单元测试

进行Furion项目的单元测试的步骤如下: 步骤1:在Furion项目中创建单元测试项目 - 在Furion项目的解决方案中右键单击并选择“添加” -> “新项目” - 在“创建新项目”对话框中,在搜索框中输入“单元测试”,然后选择“单元测试…

window 安装ai 基础环境(yolo8,训练推理等)

步骤: 1. python sdk 3.9以上 2. 显卡驱动 可以使用驱动精灵 直接安装N 卡推荐 3. 安装机器学习套件CUDA cuda 安装在PyTorch 需要根 PyTorch版本一致,我的 win-srv 最高支持 12.1 下载地址: https://developer.nvidia.com/cuda-toolkit-archive…

数据结构——循环结构:for循环

今天是星期五,明天休息,后天补课,然后就是运动会,接着是放假。(但这些都和我没关系啊,哭死!)今天脑袋难得清醒一会儿,主要是醒的比较早吧,早起学了一会&#…

汇编语言——输入两个字数据(16位的数)X,Y,计算Z=X+Y,并把Z的结果显示出来

文章目录 以2进制输入,2进制输出(无符号)以2进制输入,2进制输出(带符号)以8进制输入,8进制输出以10进制输入,10进制输出以16进制输入,16进制输出 仅供参考 X、Y的输入可…

Spring MVC 中配置 DispatcherServlet

在Spring MVC中,DispatcherServlet 是前端控制器,负责处理所有的HTTP请求。它是整个Spring MVC框架的核心组件,负责将请求分派给相应的处理器。以下是如何配置DispatcherServlet的详细步骤: 添加依赖: 确保项目中包含…

Windows系统启动Redis

一、下载windows版本Redis 1.1 选择一个使用的版本 在以下地址中选择一个Windows系统可以使用的版本 https://github.com/microsoftarchive/redis/tags 1.2 下载 1.3 解压到文件夹 二、启动Redis 双击redis-server.exe启动Redis 出现以下界面即启动成功 三、测试是否可以使…

Linux第二节--常见的指令介绍集合(持续更新中)

点赞关注不迷路!,本节涉及初识Linux第二节,主要为常见的几条指令介绍。 Linux下基本指令 1. ls 指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件&#…

php 追加 内容

目录 1. 追加到文件末尾2. 追加到数据库表中3. 追加到数组 在 PHP 中实现数据追加功能通常涉及将新数据添加到已有数据中,比如将新内容附加到文件末尾或将新数据添加到数据库表中。以下是一些常见的实现方式: 1. 追加到文件末尾 追加文字到文件&#xf…

LeetCode //C - 60. Permutation Sequence

60. Permutation Sequence The set [1, 2, 3, …, n] contains a total of n! unique permutations. By listing and labeling all of the permutations in order, we get the following sequence for n 3: “123”“132”“213”“231”“312”“321” Given n and k, re…

某米社区请求data类型multipart_form-data分析

随笔记录 之前未曾遇到请求的Content-Type:multipart/form-data; boundary=----WebKitFormBoundary9Fxpi3Dvlnhm3MKq,今天就简单是根据目标网站进行分析下,目标站点是:aHR0cHM6Ly93ZWIudmlwLm1pdWkuY29tL3BhZ2UvaW5mby9taW8vbWlvL3BjU2VhcmNoP2Zyb21QYXRobmFtZT1taW9Cb2FyZ…

边缘计算含义与应用简析

边缘计算概述 边缘计算使数据存储和处理靠近生成或收集数据的位置,而不是在位于数千公里的服务器上。它将通过保持灵活性在边缘无缝可靠地部署服务。它比云计算更安全,因为不需要传输数据。因此,在将数据从边缘移动到云端时,不用…

eSIM Network搭建指南

有任何关于GSMA\IOT\eSIM\RSP\业务应用场景相关的问题,欢迎W: xiangcunge59 一起讨论, 共同进步 (加的时候请注明: 来自CSDN-iot).

用自动化工具轻松吸引更多粉丝关注

在当今这个信息爆炸的时代,如何让自己的品牌、产品或者个人在众多信息中脱颖而出,吸引更多的粉丝关注,成为了许多人面临的问题。而自动化工具,就是我们解决这个问题的利器。 首先,我们要明白,吸引粉丝关注…

【笔记】Simulink与Workbench交互+自定义m函数封装为Simulink模块

以如下三角函数为例,说明建模方法 ya*sin(b*2*pi*uc);0.总模型总代码 总模型 总代码: clc clear close allt_all10; a10; b1; c0;%pi/2; delta_t0.01; simOutsim(test240430); out_tsimOut.tout; out_y1simOut.yout{1}.Values; out_y2simOut.yout{2}.…

【C 数据结构】深度优先搜索、广度优先搜索

文章目录 【 1. DFS 深度优先搜索 】1.1 基本原理1.2 C 实现 【 2. BFS 广度优先搜索 】2.1 基本原理2.2 C 实现 【 3. 深度优先生成树、广度优先生成树 】【 4. 深度优先生成森林、广度优先生成森林 】4.1 深度优先生成森林4.2 广度优先生成森林 对存储的图中的顶点进行遍历搜…