20 个常用的 pandas 使用技巧

news/2025/1/11 12:37:11/

大家好,我是小寒。 今天来分享 20 个常用的 pandas 使用技巧。如果觉得不错,点赞、转发安排起来。

1、以 Markdown 格式输出 DataFrame

import pandas as pddf = pd.DataFrame({'a': [1, 2, 3, 4],'b': [5, 6, 7, 8]})# You can control the printing of the index column by using the flag index.
print(df.to_markdown(index=True))
| | 一个 | 乙 | 
|---:|----:|----:| 
| 0 | 1 | 5 | 
| 1 | 2 | 6 | 
| 2 | 3 | 7 | 
| 3 | 4 | 8 |

2、将行分组到列表中

通常用 groupby 获取同一组中行的统计信息,例如计数、均值、中位数等。如果要将行分组到列表中,请使用“ lambda x: list(x)”。

import pandas as pddf = pd.DataFrame({"col1": [1, 2, 3, 4, 3],"col2": ["a", "a", "b", "b", "c"],"col3": ["d", "e", "f", "g", "h"],}
)# Group by col2
df.groupby(["col2"]).agg({"col1": "mean",           # get mean"col3": lambda x: list(x) # get list}
)

3、DataFrame.explode()

使用 DataFrame 时,如果要将字符串转换为列表,然后将列表中的元素拆分为多行,请使用 str.split()explode() 方法。

import pandas as pddf = pd.DataFrame({"a": ["1,2", "4,5"],"b": [11, 13]})# Turn strings into lists
df.a = df.a.str.split(",")
df
df.explode("a", ignore_index=False)

4、DataFrame.copy()

你是否曾经尝试过使用 “ = ” 来复制一个 DataFrame ?你不会得到一份副本,改变新的DataFrame也会改变原来的DataFrame

制作副本的更好方法是使用 df.copy()。现在,更改副本不会影响原始DataFrame

import pandas as pd
df = pd.DataFrame({"col1": [1, 2, 3],"col2": [4, 5, 6]})df2 = df 
#改变 df2 
df2["col1"] = [7, 8, 9]
# df 也跟着改变
df 
df = pd.DataFrame({"col1": [1, 2, 3],"col2": [4, 5, 6]})# 使用 copy 创建一个副本
df3 = df.copy() 
# 改变 df3
df3["col1"] = [7, 8, 9]
# df 不会改变
df 

5、Groupby().count 与 Groupby().size

  • 如果要获取 Pandas DataFrame 中一列的元素个数 ,请使用groupbycount

  • 如果要获取由 2 列或更多列组成的组的大小,请改用groupbysize

import pandas as pd
df = pd.DataFrame({"col1": ["a", "b", "b", "c", "c", "d"],"col2": ["S", "S", "M", "L", "L", "L"]}
)# get the count of elements in one column
df.groupby(["col1"]).count()
df.groupby(["col1", "col2"]).size()

6、相关性

7、交叉表

8、DataFrame.query()

9、pandas.melt()

10、重命名聚合列

11、归一化值计数

12、df.transform()

13、填写空值

14、计算缺失值

15:过滤 DataFrame 中的列

16、自动转换数据类型

17、读取 HTML 表格

18、最大和最小

19、创建排名列

20、DataFrame 中的颜色值

20 个 pandas 常用操作 - 寒舍icon-default.png?t=M85Bhttp://python1234.cn/archives/pandas2


http://www.ppmy.cn/news/6939.html

相关文章

YOLOV5融合SE注意力机制和SwinTransformer模块开发实践的中国象棋检测识别分析系统

本文紧接前文: 《基于yolov5s实践国际象棋目标检测模型开发》 《yolov5s融合SPD-Conv用于提升小目标和低分辨率图像检测性能实践五子棋检测识别》 首先来看下最终效果: 在我棋类检测系统开发之——五子棋检测那篇博文写完之后就萌生了想做一下基于目标…

有效操作:Ubuntu上已经安装最新node但是node -v返回的版本号确实错的;ubuntu第一次启动vue项目报npm版本错误

** 如已经安装过最新版的node话可直接跳到操作6: 1.查看node版本,没安装的请先安装; node -v 如果安装成功的话会返回版本号: 2.如果nodejs包出错需要重新安装的话,删除不干净会有可能出现问题,下面就介…

国考省考行测:细节理解,对错判断,要素查找,问什么,找什么,对比分析

国考省考行测:细节理解,对错判断,要素查找,问什么,找什么,对比分析 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要…

c++算法基础必刷题目——模拟

文章目录模拟算法1、字符串的展开2、多项式输出3、机器翻译模拟算法 模拟算法是一种最基本的算法思想,是对程序员基本编程能力的一种考查,其解决方法就是根据题目给出的规则对题目要求的相关过程进行编程模拟。在解决模拟类问题时,需要注意字…

关于CSS选择器优先级的规则说明

简单规则&#xff1a; !important > 行内样式 > id选择器 > 类选择器 > 元素选择器 > 通配选择器 选择器举例说明&#xff1a; !important&#xff1a; <h1 id"title">好好学习&#xff0c;天天向上</h1> <style type"text/…

一款非常萌的桌面工具 --- Bongo Cat Mver 附使用教程

最近看B站的时候发现了一个很好玩的桌面工具&#xff0c;Bongo Cat Mver 通过多方查找资源&#xff0c;终于找到了&#xff0c;并且已经下载使用 O(∩_∩)O 不知道这只小猫是不是特别好看呢&#xff1f;放在你的桌面上 Bongo Cat Mver简介 Bongo Cat Mver 是一款画风非常萌的…

ROBOGUIDE软件:FANUC机器人多层堆焊功能介绍与示教编程操作方法

目录 机器人多层堆焊功能介绍 机器人跟踪路径数据指令介绍 机器人多层堆焊指令介绍 机器人弧焊焊接工作站创建 机器人多层堆焊示教编程 仿真运行 机器人多层堆焊功能介绍 在厚板焊接中进行多层堆焊焊接&#xff0c;以便多次焊接相同的部位而增大焊接宽度。通常情况下&am…

【JavaScript】Promise

文章目录一. Promise二. try/catch/finally三. async/await一. Promise promise 是一个 ES6 的语法 承诺的意思&#xff0c;是一个专门用来解决异步 回调地狱 的问题 语法&#xff1a; new Promise(function (resolve, reject) {// resolve 表示成功的回调// reject 表示失败…