pandas输出到excel_精通Pandas,从零基础到中级运用,看这一篇就够了

本文介绍了Python数据处理库Pandas的基本使用方法,包括读取和写入数据、数据检查、基本和中级函数应用、数据更新等,并探讨了一些高级功能如SQL连接、数据分组等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python是开源的,这带给我们极大便利。但也带来了开源的固有问题:

许多包都在做 (或试图做) 同样的事情。

如果你是Python新手,很难知道哪一个包是特定任务的最佳选择。你需要有经验的人给你指导。

而我今天要告诉你:有一个玩数据你必须要学会弄懂弄通的包,它就是pandas

04ba1b6708b94133913d20bf7c7742d7.png

Pandas真正强大的地方在于,很多其他包都隐藏在它内核里面。

Pandas它是一个核心包,里面有很多其他包的附加功能。它的好处在于你可以只用pandas语法,但是却拥有好几人的功力,就跟天龙八部的慕容复一样。

pandas就像Python中的Excel:它使用表格(即DataFrame)并对数据进行转换操作。但它能做的事情其实还有很多。

如果你已经熟悉Python,你可以直接进入第3段。

如果你还不熟悉Python,建议你一步步从头开始。

让我们开始吧!

761c677b4f03d31175948f6f00887844.png

Pandas最基本的函数

  • 读取数据

82f886680e601e5f2c3c29528a2d9311.png

sep是分隔符的意思。如果你使用的是法语数据,Excel中的csv分隔符是";",所以你需要明确它。

编码设置为 "latin-1 "以读取法语字符。nrows=1000表示读取前1000行。

最常用的函数:read_csv,read_excel。

其他一些不错的函数:read_clipboard(我经常使用的方式,从Excel或从网络复制数据),read_sql。

  • 写入数据

78890ffa69b622d305c63fb627bb4142.png

index=None将简单地按原样写入数据。

如果你不写index=None,你会得到额外的第一列1,2,3,...直到最后一行。

我通常不会去使用其他函数,比如.to_excel,.to_json,.to_pickle,因为.to_csv已经可以很好的完成这项工作了,因为csv是最常见的保存表格的方式。除此之外,如果你和我一样是个Excel狂人,想把你的结果从Python粘贴到Excel上,那么.to_clipboard也是必不可少的。

  • 检查数据

6cee9bc3445ce60291b99945116efb5f.png

给定(#行,#列)

47db431bdeabe5cd936dc485a77f8d6e.png

计算基本统计数据

  • 查看数据

415fb6c9ea34ee3e312720f31fc25c87.png

输出数据的前3行。与.head()类似,.tail()将查看数据的最后几行。

1c5297c97b5c7da1adbe07b804c368de.png

输出第8行

84c182ae2cd207ecf5940b7fc8a73811.png

在 "column_1 "上输出第8行的值

4d2258e197309b809e1249e7bde032dd.png

第4至第6行的子集(不包括在内)

Pandas的一些基础函数

  • 逻辑运算

7a83d6ba85151478d5b655761388d179.png

要使用&(AND)、~(NOT)和|(OR),必须在逻辑运算前后加上"("AND")"。

8a3b4e816910a041033610ac15382337.png

使用.isin()函数,而不是为同一列写多个OR。

  • 基本绘图

这个功能的实现得益于matplotlib包。正如我们在介绍中所说,它可以直接在pandas中使用。

3a9992171e8b01e30674319706577628.png

.plot()的输出示例

44999b93ffe564fb6041dc0881821da2.png

绘制分布图(柱状图)

fd8e0b8adfd0815bf1d68e0bc070010e.png

.hist()输出示例

74d9208958479a68b5db0f11cdbb4ef1.png

如果你使用Jupyter,别忘记在绘图之前写下这一行(在笔记本上只写一次)

  • 更新数据

1fdee5eb5c3f0cc8c4097b402cfb23b5.png

将第8行'column_1'处的值替换为'english'。

5dfc7412a0fd15e0ae5cdd9da222e5be.png

在一行中改变多行的值

好了,现在你可以做一些在Excel中很容易实现的事情了。让我们来挖掘一些在Excel中做不到的神奇事情。

Pandas的一些中级函数

  • 计数出现的次数

    a6b0b0a39a901480e8c4e07367e0ce03.png

    .value_counts()输出示例

  • 对整行、整列或全部数据进行操作

d5da241094c69a65d6a85e4bb3a515f8.png

len()函数被应用于'column_1'的每个元素

.map()运算将一个函数应用于列的每个元素。

57f9f596617d0c3283ca08bf027f33d8.png

Pandas的一大特点是链式方法。

它可以帮助你在一条线上完成多个操作(这里是.map()和.plot()),更加简单和高效

8bad7a8b5a62beca602fa01bb8ec3581.png

.apply()将一个函数应用到列上。使用.apply(, axis=1)对行进行应用。

.applymap()将一个函数应用于表中的所有单元格(DataFrame)。

  • tqdm 的独一无二

当处理大型数据集时,pandas在运行.map()、.apply()、.applymap() 运算时可能会花费一些时间。tqdm是一个非常有用的包,它可以帮助预测这些运算何时会完成执行。

d70fea207020347d436820c7fd99cdaf.png

用pandas设置tqdm

0cd346a45cfda1ea147e9f0090bf239c.png

将.map()替换为.progress_map(),同样替换为.apply()和.applymap()。

555983022e45112b6b7446e2e7f8b65d.gif

这是Jupyter中使用tqdm和pandas得到的进度条

  • 相关性和散点矩阵

fd9b0181b085a0a88bceced335b60932.png

.corr()会给出相关的矩阵

43e9d312bdb334ee7e058260972e323b.png

离散矩阵的例子。它绘制了同一图表中两列的所有组合。

  • 处理缺失值

6f6fa45b9ab432ce6ff681222663a051.png

inplace=True将会直接在你的数据集中填充缺失的值。

如果你不写inplace=True,它将暂时填充缺失的值,而不是永久地填充。

Pandas的一些高级运算

  • SQL连接

9c7e2be41cac2a19624ebf947ef738c5.png

在3列上连接只需要一行

  • 分组

刚开始的时候没有那么简单,你需要先掌握语法,然后你就能一直运用这个功能了。

b1adb0c4adc226ddfc7bcdbc2c45e06e.png

按一列分组,选择另一列对其进行函数操作。.reset_index()将你的数据重塑为一个DataFrame(表)

df5ee6663371d24d56cdfd58eadc3f72.png

正如前面所解释的,将你的函数链在一行中,从而获得最佳的代码。

  • 迭代行

9a463fcb36894c1f36561885c76ab962.png

.iterrows()一起循环浏览2个变量:行的索引和行(上面代码中的i和行)

总而言之,Python之所以是一门伟大的语言,其原因之一便是Pandas。

我们还可以展示很多其他pandas的有趣功能,但以上这些这已经足够理解为什么一个玩数据的不能没有pandas了。

总结一下,pandas是

  • 简单易用,把所有复杂和抽象的计算都隐藏在背后

  • 直观

  • 快速,python里最快的数据分析包(它在C语言中高度优化)。

它是帮助新手入门数据分析,用于快速阅读和理解数据的最佳工具。

懂得原创不易的人都点了赞和在看。感谢有你,我们一起学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值