面试复习系列【python-数据处理-2 】

简介: 面试复习系列【python-数据处理-2 】

pandas

可能大家经常在技术讨论群众聊天,就会发现一个现象。就是只要有人提起python的一些数据怎么处理的时候,保准会有人说用pandas。


是的,它就是这样总被人提起,甭管提起它的人自己到底会不会Pandas,也别管到底写没写过哪怕一句pandas,甚至压根不知道在测试的日常工作中,pandas到底用在哪。但是只要有人问,就必须要第一时间会回答pandas,这叫什么,这叫优雅~


我个人的理解是,pandas属于numpy之下的一个扩展功能库,可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。广泛应用在学术、金融、统计学等各个数据分析领域。


应粉丝要求,这种基础知识文章,我会给大家分段记忆。


一共有下载,创建,查看,操作,读写 五部分。


下载

直接pip insatll pandas就可以,这里要说下,如果下载报错或者引入报错,请先百度下错误输出,看看是缺少什么还是版本问题。如果都解决不了的情况下,请立即下载一个新的python,再在新python内pip install pandas,当然你最好一起把numpy也pip install了。

创建

创建什么?pandas创建的东西叫什么?我在很多网站和书上看到的应该叫 序列。

其实,就和你连下标都一起标出来的二维数组很像。

import pandas as pd
s = pd.Series([1,2,3,4,5])

这个运行后,我们打印s,得到的结果是这样的:左边第一列是行标,第二列开始是内容image.png

我们也可以创建个多列的,既然是多列,那么我们给每列起个名字不过分吧?既然每列有了名字,那么加上内容,那就是地地道道一个字典。


s = pd.Series({"a":1,"b":2})
print(s)


结果如下:

image.png

但是这样创建看起来就不舒服,所以我们用DataFrame方法来创建。


s = pd.DataFrame({'a':'测试开发干货',"b":[1,2,3],"c":pd.Timestamp('20211229')})

结果如下:

image.png

看到了吧,这里面放什么都可以,各种数据类型,时间都可以。就像个简略的excel表格一样清晰。


好,pandas其实就是这样存储数据的工具而已,当然它的性能是非常非常快的,尤其是大数据的时候,比我们自己手写算法什么的要强得多。各种按列排序 ,按行排序,按列求值,平均数啥的,各种需求各种满足的工具。


那么就好好背一背它的各种操作吧,别总是抱怨去大厂面测开面不上,这些基础的死记硬背的都不熟练的话,后面面试也只是给面子走流程,然后pass掉而已,扎心但真实。


用列表创建序列

s1 = pd.Series([1,2,3,4,5])

print(s1) #内容

print(s1.index)#索引

print(s1.values)# 值


使用字典创建序列

s1 = pd.Series({"a":1,"b":2},index=["a","b"])


创建复合型序列

df = pd.DataFrame({'a':1,"b":pd.Series([1,2,3]),"c":pd.Timestamp('20211229'),'D':"测试开发干货"})


通过numpy创建序列

df = pd.DataFrame(np.array([[1,2],[3,4],[5,6]]))

print(df) #查看内容

print(df.describe) #查看统计

print(df.head(2)) #查看头部2行

print(df.tail(2)) #查看倒数2行

print(df.index) #查看数据索引行标

print(df.columns)  # 查看数索引列标

Df = df.sort_index(axis=1,ascending=True)  # 按轴由小到大排序

Df = df.sort_values(by=0,ascending=True) # 按列头的值 由小到大排序

print(df.mean(0)) #获取每一列均值

print(df.mean(1)) #获取每一行均值

print(df[0]) #输出某列名下的内容

print(df[1:2]) #输出某几行

print(df.loc[:1,:2])  #输出某几行,某几列,按名字,闭合

print(df.iloc[:1,:1]) #输出某几行,某几列,按下标,左开右闭

DF = df.add(1) #每个元素加一

DF = df.apply(lambda x:x.max()-x.min()) # 按列求最大差

df.to_csv('data.csv') #写入csv

DF = pd.read_csv('data.csv') # 读取csv

df.to_excel('data.xlsx','sheet1') # 写入excel DF = pd.read_excel('data.xlsx','sheet1')  # 读取excel


相关文章
|
11月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
760 0
|
11月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
794 1
|
11月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
816 0
|
11月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
484 0
|
测试技术 数据处理 Python
Python列表推导式:简洁高效的数据处理利器
Python列表推导式:简洁高效的数据处理利器
555 80
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
922 0
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
476 1
|
人工智能 分布式计算 数据处理
有奖评测,基于分布式 Python 计算服务 MaxFrame 进行数据处理
阿里云MaxCompute MaxFrame推出分布式Python计算服务MaxFrame评测活动,助力开发者高效完成大规模数据处理、可视化探索及ML/AI开发。活动时间为2024年12月17日至2025年1月31日,参与者需体验MaxFrame并发布评测文章,有机会赢取精美礼品。
|
数据采集 存储 数据处理
Python中的多线程编程及其在数据处理中的应用
本文深入探讨了Python中多线程编程的概念、原理和实现方法,并详细介绍了其在数据处理领域的应用。通过对比单线程与多线程的性能差异,展示了多线程编程在提升程序运行效率方面的显著优势。文章还提供了实际案例,帮助读者更好地理解和掌握多线程编程技术。

推荐镜像

更多