pandas 数据处理汇总(上)

简介: pandas 数据处理汇总(上)

使用python-pandas处理excel数据时,常用命令汇总


数据处理


导入输出文件

导入文件:

df = pd.read_excel('文件路径/文件名.xlsx')
#读取指定sheet
df = pd.read_excel("test.xlsx", engine="openpyxl", sheet_name="表1")


导出文件:

df.to_excel('输出文件名.xlsx')


查询数据

iloc 与 loc 查询的区别:

iloc的意思是基于索引(index-based selection),输入为索引,也就是,行是(0,1,2,3,4)中的值(行索引),列是(0, 1, 2,…)中的值(列索引)。


loc的意思是基于标签(label-based selection),输入为标签,也就是,行是(0,1,2,3,4)中的值,列是(‘列名1’, ‘列名2’, ‘列名3’,…)中的值。


可以理解为iloc输入的是坐标loc输入的是具体含义。两个方法容易被混淆的点,在于这里行坐标(0, 1, 2, 3, 4,…)恰好也是具体含义,但iloc中的数字与loc中的数字真实含义不同。


也正是因为这个差距,容易导致一个错误。

在对数据进行切片操作时,iloc与Python中 (:)的含义相同,包含(:)前的值,不包含(:)后的值。

而在loc中使用(:)不仅包含(:)前的值,也包含(:)后的值。

5cf87ce2f5ac4ee9b49b3633e298c805.png

1、根据行索引查找某行数据:df.loc[行索引] 或者 df.iloc[行索引]

8851021c24ee41df8ace0fdac83e58c7.png

2、根据行索引查找某一段数据:df.iloc[a:b] 或者df[a,b] 或者 df.loc[a,b]——a为起始行索引,b为接数行索引
注意:
df.iloc[a:b]df[a,b]效果一样,都不包含b行的值; df.loc[a,b]包含b行的值

3、根据索引查找某行某列数据:df.loc[a,'列名'] ——a为行索引,第二个参数对应输入所需列名
可以查找多列数据:df.loc[a,['列名A','列名B']]
或者:
df.iloc[a,b]——a行索引,b为列索引


原表:

494c62630e924ae9b72066cd410c68b4.png

# 读取文件
import pandas as pd 
df = pd.read_csv('match.csv')
#查找行索引为1的数据
print(df.loc[1])
输出:
      Name           Jae Crowder
      Team        Boston Celtics
      Number                99.0
      Position                SF
      Age                   25.0
      Height                 6-6
      Weight               235.0
      College          Marquette
      Salary           6796117.0
      Name: 1, dtype: object
# 根据据行索引查找某一段数据
df.loc[1:5]
输出如下:
        Name  Team  Number  Position  Age Height  Weight  College Salary
      1 Jae Crowder Boston Celtics  99.0  SF  25.0  6-6 235.0 Marquette 6796117.0
      2 John Holland  Boston Celtics  30.0  SG  27.0  6-5 205.0 Boston University NaN
      3 R.J. Hunter Boston Celtics  28.0  SG  22.0  6-5 185.0 Georgia State 1148640.0
      4 Jonas Jerebko Boston Celtics  8.0 PF  29.0  6-10  231.0 NaN 5000000.0
      5 Amir Johnson  Boston Celtics  90.0  PF  29.0  6-9 240.0 NaN 12000000.0
# 根据索引查找某行某列数据
print(df.loc[1,'Name'])
输出如下:
      Jae Crowder
#查找某一行多列数据
print(df.loc[1,['Name','Team']])
输出如下:
      Name       Jae Crowder
      Team    Boston Celtics
      Name: 1, dtype: object
#查找多行多列数据
print(df.loc[1:4,['Name','Team']])
输出如下:
                  Name            Team
      1    Jae Crowder  Boston Celtics
      2   John Holland  Boston Celtics
      3    R.J. Hunter  Boston Celtics
      4  Jonas Jerebko  Boston Celtics
  1. 查看文件最后5行的数据
import pandas as pd 
df = pd.read_csv('match.csv')
1\ 查看最后5行所有数据
print(df.tail(5))
2\ 查看最后5行指定列数据
#方法一
print(df[['Name','Team','College','Salary']].tail(5))  
#方法二
print(df.loc[df.index[-5:],['Name','Team','College','Salary']])

65e44f59c5fa4917a0c7c02f4dbb847b.png

ba7e7cbd48974cd69e8993d12eda9fd9.png

2701fe6131c2442291f3dcafbfc50c0a.png

  1. 多个条件查询数据1
import pandas as pd 
df = pd.read_csv('match.csv')
# 查找Team=Boston Celtics,且Number >= 40的数据,注意数字不用加引号
print(df[(df['Team']=='Boston Celtics') & (df['Number'] >= 40) ])

ffa902e4db344e0f8a332480e531bb85.png

  1. 多条件查询2
#查找某列出席拿过的多个值
print(df[df['Position'].isin(['PG','SF','C'])])
或者:
print(df.query("Position=='PG' | Position=='C' | Position=='SF'"))
或者:
print(df.query("Position in ('PG', 'C', 'SF')"))


e48ec9b6d32142508c9bf38aa041f352.png

相关文章
|
22天前
|
并行计算 数据处理 API
再见 Pandas,又一数据处理神器!
再见 Pandas,又一数据处理神器!
|
18天前
|
数据可视化 数据挖掘 数据处理
进阶 pandas DataFrame:挖掘高级数据处理技巧
【5月更文挑战第19天】本文介绍了Pandas DataFrame的高级使用技巧,包括数据重塑(如`pivot`和`melt`)、字符串处理(如提取和替换)、日期时间处理(如解析和时间序列操作)、合并与连接(如`merge`和`concat`),以及使用`apply()`应用自定义函数。这些技巧能提升数据处理效率,适用于复杂数据分析任务。推荐进一步学习和探索Pandas的高级功能。
|
22天前
|
数据处理 索引 Python
使用pandas的merge()和join()函数进行数据处理
使用pandas的merge()和join()函数进行数据处理
38 2
|
22天前
|
数据采集 数据挖掘 大数据
数据处理利器:使用Pandas进行数据清洗与转换
【4月更文挑战第12天】在大数据时代,Pandas是Python数据分析的关键工具,提供高效的数据清洗和转换功能。本文介绍了如何使用Pandas处理缺失值(删除或填充)、异常值(Z-Score法和IQR法)以及重复值(检测和删除)。此外,还涵盖了数据转换,包括数据类型转换、数据标准化(Min-Max和Z-Score)以及类别数据的one-hot编码。通过学习这些方法,可以为数据分析和挖掘奠定坚实基础。
|
2天前
|
数据采集 安全 数据处理
Python采集数据处理:利用Pandas进行组排序和筛选
使用Python的Pandas库,结合亿牛云代理和多线程技术,提升网络爬虫数据处理效率。通过代理IP避免封锁,多线程并发采集,示例代码展示数据分组、排序、筛选及代理IP配置和线程管理。
Python采集数据处理:利用Pandas进行组排序和筛选
|
8天前
|
数据采集 SQL 数据处理
Python中的Pandas库:数据处理与分析的利器
Python中的Pandas库:数据处理与分析的利器
21 0
|
9天前
|
数据采集 数据可视化 数据处理
Python中的高效数据处理:Pandas库详解
Python中的高效数据处理:Pandas库详解
31 2
|
16天前
|
数据采集 数据可视化 数据处理
利用Python和Pandas库实现高效的数据处理与分析
在大数据和人工智能时代,数据处理与分析已成为不可或缺的一环。Python作为一门强大的编程语言,结合Pandas库,为数据科学家和开发者提供了高效、灵活的数据处理工具。本文将介绍Pandas库的基本功能、优势,并通过实际案例展示如何使用Pandas进行数据清洗、转换、聚合等操作,以及如何利用Pandas进行数据可视化,旨在帮助读者深入理解并掌握Pandas在数据处理与分析中的应用。
|
18天前
|
数据挖掘 数据处理 Python
【Python DataFrame 专栏】深入探索 pandas DataFrame:高级数据处理技巧
【5月更文挑战第19天】在 Python 数据分析中,pandas DataFrame 是核心工具。本文介绍了几个高级技巧:1) 横向合并 DataFrame;2) 数据分组与聚合;3) 处理缺失值;4) 数据重塑;5) 条件筛选;6) 使用函数处理数据。掌握这些技巧能提升数据处理效率和分析深度,助你更好地发掘数据价值。
【Python DataFrame 专栏】深入探索 pandas DataFrame:高级数据处理技巧
|
22天前
|
SQL 数据采集 数据挖掘
构建高效的Python数据处理流水线:使用Pandas和NumPy优化数据分析任务
在数据科学和分析领域,Python一直是最受欢迎的编程语言之一。本文将介绍如何通过使用Pandas和NumPy库构建高效的数据处理流水线,从而加速数据分析任务的执行。我们将讨论如何优化数据加载、清洗、转换和分析的过程,以及如何利用这些库中的强大功能来提高代码的性能和可维护性。