返回顶部
首页 > 资讯 > 后端开发 > Python >python中pandas常用命令详解
  • 824
分享到

python中pandas常用命令详解

2024-04-02 19:04:59 824人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使python成为强大而高效的数据分析环境的重要因素之一。

1、pandas

pandas 是一个多功能且功能强大的数据科学库。 

2、读取数据

pd.read_csv("data.csv")

3、读取指定列

pd.read_csv("data.csv", usecols=["date", "price"])

4、读取并解析日期

pd.read_csv("data.csv", parse_dates=["date"])

5、读取时指定数据类型

        在读取时设置类别数据类型可以节省内存。

pd.read_csv("data.csv", dtype={"house_type": "cateGory"})

6、读取时设置索引

pd.read_csv("data.csv", index_col="date")

7、设置读取的行数

pd.read_csv("data.csv", nrows=100)

8、读取时跳过行数

pd.read_csv("data.csv", skiprows=[1, 5])  # skips line 1 and 5
pd.read_csv("data.csv", skiprows=100)  # skips the first 100 lines
pd.read_csv("data.csv", skiprows=lambda x: x > 0 and np.random.rand() > 0.1) # skip 90% of the rows

9、指定NA值

pd.read_csv("data.csv", na_values=["?"])

10、设置布尔值

pd.read_csv("data.csv", true_values=["yes"], false_values=["no"])

11、一次读取多个文件后合并

import glob
import os
files = glob.glob("file_*.csv")
result = pd.concat([pd.read_csv(f) for f in files], ignore_index=True)

12、复制数据

df = pd.read_clipboard() 

13、从 pdf 文件中读取表格

from tabula import read_pdf
# Read pdf into list of DataFrame
df = read_pdf('test.pdf', pages='all')

14、快速可视化数据集

import pandas_profiling
df = pd.read_csv("data.csv")
profile = df.profile_report(title="Pandas Profiling Report")
profile.to_file(output_file="output.html")

15、按dtype过滤列

# 选择
df.select_dtypes(include="number")
df.select_dtypes(include=["category", "datetime"])
 
# 排除
df.select_dtypes(exclude="object")

16、推断数据类型

df.infer_objects().dtypes

17、向下转换数值类型

pd.to_numeric(df.numeric_col, downcast="integer") # smallest signed int dtype
pd.to_numeric(df.numeric_col, downcast="float")  # smallest float dtype

18、防止错误值并填充

# apply to whole data frame
df = df.apply(pd.to_numeric, errors="coerce")
# apply to specific columns
pd.to_numeric(df.numeric_column, errors="coerce")
# filling NA values with zero
pd.to_numeric(df.numeric_column, errors="coerce").fillna(0)

19、按列数据类型转换

df = df.astype(
    {
        "date": "datetime64[ns]",
        "price": "int",
        "is_weekend": "bool",
        "status": "category",
    }
)

20、重命名列

df = df.rename({"PRICE": "price", "Date (mm/dd/yyyy)": "date"}, axis=1)

21、添加后缀和前缀

df.add_prefix("pre_")
df.add_suffix("_suf")

22、从原列创建新列

# create new column of Fahrenheit values from Celcius
df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)

23、在特定位置插入列

random_col = np.random.randint(10, size=len(df))
df.insert(3, 'random_col', random_col) # inserts at third column

24、三元表达式

df["logic"] = np.where(df["price"] > 5, "high", "low")

25、删除列

df.drop('col1', axis=1, inplace=True)
df = df.drop(['col1','col2'], axis=1)
s = df.pop('col')
del df['col']
df.drop(df.columns[0], inplace=True)

26、修改列名

df.columns = df.columns.str.lower()
df.columns = df.columns.str.replace(' ', '_')

27、判断包含

df['name'].str.contains("John")
df['phone_num'].str.contains('...-...-....', regex=True)  # regex
df['email'].str.contains('gmail')

28、根据正则查找

pattern = '([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\\.([A-Z]{2,4})'
df['email'].str.findall(pattern, flags=re.IGNORECASE)

29、检查缺失值并打印缺失百分比

def missing_vals(df):
    """prints out columns with perc of missing values"""
    missing = [
        (df.columns[idx], perc)
        for idx, perc in enumerate(df.isna().mean() * 100)
        if perc > 0
    ]
 
    if len(missing) == 0:
        return "no missing values"
    
    # sort desc by perc
    missing.sort(key=lambda x: x[1], reverse=True)
 
    print(f"There are a total of {len(missing)} variables with missing values\n")
 
    for tup in missing:
        print(str.ljust(f"{tup[0]:<20} => {round(tup[1], 3)}%", 1))
missing_vals(df)

30、处理缺失值

# drop 
df.dropna(axis=0)
df.dropna(axis=1)
# impute
df.fillna(0)
df.fillna(method="ffill")
df.fillna(method='bfill')
# replace
df.replace( -999, np.nan)
df.replace("?", np.nan)
# interpolate
ts.interpolate() # time series
df.interpolate() # fill all consecutive values forward
df.interpolate(limit=1) # fill one consecutive value forward
df.interpolate(limit=1, limit_direction="backward")
df.interpolate(limit_direction="both")

31、从今天/之前获取 X 小时/天/周

# from today
date.today() + datetime.timedelta(hours=30)
date.today() + datetime.timedelta(days=30)
date.today() + datetime.timedelta(weeks=30)
 
# ago
date.today() - datetime.timedelta(days=365)

32、过滤两个日期

df[(df["Date"] > "2015-01-01") & (df["Date"] < "2017-01-01")]

33、按日/月/年过滤

df[(df["Date"] > "2015-01-01") & (df["Date"] < "2017-01-01")]

34、格式化数据格式

fORMat_dict = {
    "Date": "{:%d/%m/%y}",
    "Open": "${:.2f}",
    "Close": "${:.2f}",
    "Volume": "{:,}",
}
 
df.style.format(format_dict)

35、设置数据颜色

(
    df.style.format(format_dict)
    .hide_index()
    .highlight_min(["Open"], color="red")
    .highlight_max(["Open"], color="green")
    .background_gradient(subset="Close", cmap="Greens")
    .bar('Volume', color='lightblue', align='zero')
    .set_caption('Tesla Stock Prices in 2017')
)

36、获取一列中最大最小项的id

df['col'].idxmin()
df['col'].idxmax()

37、对数据列应用函数

df.applymap(lambda x: np.log(x))

38、随机打乱数据

df.sample(frac=1, random_state=7).reset_index(drop=True)

39、时间序列的百分比变化

df['col_name'].pct_change()

40、分配等级

df['rank'] = df['column_to_rank'].rank()

41、检查内存占用

df.memory_usage().sum() / (1024**2) #converting to MB

42、将列的值分解为多行

df.explode("col_name").reset_index(drop=True)

43、将数量较小的类别转换为“其他”

subclass = df.MSSubClass
subclass.value_counts()
top_five = subclass.value_counts().nlargest(5).index
mssubclass_new = subclass.where(subclass.isin(top_five), other="Other")
mssubclass_new.value_counts()

到此这篇关于Python中pandas常用命令的文章就介绍到这了,更多相关python pandas常用命令内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python中pandas常用命令详解

本文链接: https://lsjlt.com/news/119597.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python中pandas常用命令详解
    pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提...
    99+
    2024-04-02
  • 详解Python中命令行参数argparse的常用命令
    目录1、参数个数控制2、参数互斥3、子命令1、参数个数控制 parser.add_argument('-i', '--integers', nargs='', const=100, ...
    99+
    2023-01-29
    Python argparse常用命令 Python argparse命令 Python argparse
  • 详解Python当中的pip常用命令
    小编相信对于大多数熟悉Python的人来说,一定都听说并且使用过pip这个工具,但是对它的了解可能还不一定是非常的透彻,今天小编就来为大家介绍10个使用pip的小技巧,相信对大家以后管理和使用Python当中的标准库会有帮助。安装当然在Py...
    99+
    2023-05-14
    Python 技巧 pip
  • lspci 命令详解及常用命令
    lspci命令用于显示计算机的PCI总线信息,包括PCI设备的厂商、设备ID等。常用的lspci命令参数如下:- -v:显示详细的信...
    99+
    2023-09-09
    lspci
  • Nodejs中 npm常用命令详解
    npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。 npm是一个...
    99+
    2022-06-04
    详解 常用命令 Nodejs
  • Linux 中 CURL常用命令详解
    下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.centos.org 通过-o/-O选项保存下载的文件到指定的文件中: -o:将文件保存为命令行中指定的文...
    99+
    2022-06-04
    详解 常用命令 Linux
  • 详解MySQL8.0+常用命令
    开启远程访问 通过以下命令开启root用户远程访问权限: CREATE USER 'root'@'%' IDENTIFIED BY 'password'; GRANT ALL ON *.* TO 'ro...
    99+
    2024-04-02
  • Linux常用命令详解
    系列文章目录 Linux 环境搭建以及xshell远程连接_crazy_xieyi的博客-CSDN博客   ls       该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项: -a 列出目...
    99+
    2023-09-01
    python 开发语言 linux java 服务器
  • Python画图常用命令大全(详解)
    matplotlib官网  matplotlib库默认英文字体 添加黑体(‘SimHei')为绘图字体 代码: plt.rcParams['font.sans-seri...
    99+
    2024-04-02
  • Java中的zookeeper常用命令详解
    目录1.zkCli.sh客户端2.多节点类型创建3.查询节点4.set数据5.删除节点6.权限设置7.其他命令注意我这里用的是官方最稳定的版本3.7.1,版本之间有个别命令是有差距的...
    99+
    2024-04-02
  • Linux常用命令之grep命令用法详解
    1.官方简介 grep是linux的常用命令,用于对文件和文本执行重复搜索任务的Unix工具,可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息。 Usage: grep [OPTION].....
    99+
    2022-06-03
    Linux grep命令用法 Linux grep命令
  • django之常用命令详解
    Django 基本命令 本节主要是为了让您了解一些django最基本的命令,请尝试着记住它们,并且多多练习下 1. 新建一个 django project django-admin.py startp...
    99+
    2022-06-04
    详解 常用命令 django
  • Linux常用命令mkdir详解
    mkdir  make directories  创建目录 语法格式:mkdir 【option】【directory】 mkdir [选项] [目录] 注意:mkdir 命令以及后面的选项和目录...
    99+
    2022-06-04
    mkdir命令 LINUX MKDIR 命令 Linux创建目录mkdir
  • 详解adb shell 常用命令
    一、文件操作相关命令 1.文件操作命令 子命令 参数 说明 cd 无 进入目录 ...
    99+
    2022-06-04
    adb shell命令 adb shell
  • mysql的常用命令详解
    这篇文章主要讲解了“mysql的常用命令详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql的常用命令详解”吧!一、连接MYSQL。格式: mysq...
    99+
    2024-04-02
  • docker的常用命令详解
    目录前言docker常用命令1 启停类/帮助 命令2镜像命令3 容器命令结语前言 本篇文章不仅仅是生硬的命令大全,也是我个人对docker学习使用的一步步总结,通过一个个示例来加深各...
    99+
    2023-05-15
    Docker的常用命令 docker常用命令
  • cp命令常用参数详解
    cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。 1.查看命令用法 在命令行键入: cp --help 可以看到cp 命令...
    99+
    2023-09-07
    linux 服务器 windows
  • Linux 中常用的Rpm命令实例详解
    rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管...
    99+
    2022-06-04
    详解 实例 命令
  • Linux中yum常用命令和yum源详解
    这篇文章主要讲解了“Linux中yum常用命令和yum源详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中yum常用命令和yum源详解”吧!==基础源==Base/Extras/...
    99+
    2023-06-04
  • Python项目管理Git常用命令详图讲解
    目录1 Git简介1.1 Git管理源代码特点1.2 Git操作流程图解2 工作区暂存区和仓库区工作区暂存区仓库区3 Git单人本地仓库操作1.安装git2.查看git安装结果3.创...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作