Python面试十问2

2024-05-04 11:04
文章标签 python 面试 十问

本文主要是介绍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

这篇关于Python面试十问2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959047

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核