面试复习系列【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


相关文章
|
23天前
|
机器学习/深度学习 数据处理 计算机视觉
NumPy实践宝典:Python高手教你如何轻松玩转数据处理!
【8月更文挑战第22天】NumPy是Python科学计算的核心库,专长于大型数组与矩阵运算,并提供了丰富的数学函数。首先需安装NumPy (`pip install numpy`)。之后可通过创建数组、索引与切片、执行数学与逻辑运算、变换数组形状及类型、计算统计量和进行矩阵运算等操作来实践学习。NumPy的应用范围广泛,从基础的数据处理到图像处理都能胜任,是数据科学领域的必备工具。
42 0
|
22天前
|
存储 算法 数据处理
|
21天前
|
机器学习/深度学习 数据采集 数据可视化
构建高效的数据管道:使用Python进行数据处理和分析
【8月更文挑战第24天】在信息爆炸的时代,数据是新的石油。本文将引导你如何利用Python构建一个高效的数据管道,从数据的获取、清洗到分析,最后实现可视化。我们将探索pandas、NumPy、matplotlib等库的强大功能,并通过实际案例加深理解。无论你是数据科学新手还是希望提升数据处理技能的开发者,这篇文章都将为你提供宝贵的洞见和实用技巧。
|
2月前
|
数据挖掘 数据处理 Python
🔍深入Python系统编程腹地:文件系统操作与I/O管理,打造高效数据处理流水线
【7月更文挑战第29天】深入Python系统编程腹地:文件系统操作与I/O管理,打造高效数据处理流水线
25 3
|
23天前
|
数据挖掘 数据处理 Python
数据处理新纪元:Python集合内置方法让你告别繁琐,轻松驾驭海量数据!
【8月更文挑战第22天】本文通过电商用户购买数据案例,展示了Python集合在高效数据处理中的应用。首先,利用Pandas读取`purchase_data.csv`文件,并通过内置方法快速概览数据。接着,创建商品ID集合进行数据分析,运用集合的并集、交集及差集等运算揭示用户购买行为模式。最后,借助集合推导式精简创建用户购买商品集合的过程,全方位呈现集合的强大功能。
20 0
|
23天前
|
数据采集 数据挖掘 数据处理
解锁Python数据分析新技能!Pandas实战学习,让你的数据处理能力瞬间飙升!
【8月更文挑战第22天】Python中的Pandas库简化了数据分析工作。本文通过分析一个金融公司的投资数据文件“investment_data.csv”,介绍了Pandas的基础及高级功能。首先读取并检查数据,包括显示前几行、列名、形状和数据类型。随后进行数据清洗,移除缺失值与重复项。接着转换日期格式,并计算投资收益。最后通过分组计算平均投资回报率,展示了Pandas在数据处理与分析中的强大能力。
30 0
|
2月前
|
大数据 数据处理 API
性能飞跃:Python协程与异步函数在数据处理中的高效应用
【7月更文挑战第15天】在大数据时代,Python的协程和异步函数解决了同步编程的性能瓶颈问题。同步编程在处理I/O密集型任务时效率低下,而Python的`asyncio`库支持的异步编程利用协程实现并发,通过`async def`和`await`避免了不必要的等待,提升了CPU利用率。例如,从多个API获取数据,异步方式使用`aiohttp`并发请求,显著提高了效率。掌握异步编程对于高效处理大规模数据至关重要。
38 4
|
1月前
|
数据采集 数据可视化 数据挖掘
使用Numpy进行高效的Python爬虫数据处理
使用Numpy进行高效的Python爬虫数据处理
|
1月前
|
并行计算 大数据 Java
高效数据处理:使用Python实现并行计算的技巧
传统的数据处理方式在面对大数据时可能效率不高,本文探讨如何利用Python中的并行计算技术来提升数据处理速度和效率,重点介绍了多线程和多进程的应用,以及如何选择合适的场景使用这些技术。
|
2月前
|
存储 数据处理 开发者
告别繁琐查找!Python高级数据结构Trie树与Suffix Tree,让数据处理更轻松!
【7月更文挑战第19天】Python的Trie树优化字符串搜索,利用前缀减少无效操作,提升效率;Suffix Tree则高效处理后缀问题,尤其适用于文本搜索与生物信息学。虽构建复杂,但能加速后缀查询。掌握这两种数据结构,能有效应对大规模数据挑战,简化处理流程,提升开发效率。
69 0