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

相关文章
|
7月前
|
监控 物联网 数据处理
Pandas高级数据处理:数据流式计算
本文介绍了如何使用 Pandas 进行流式数据处理。流式计算能够实时处理不断流入的数据,适用于金融交易、物联网监控等场景。Pandas 虽然主要用于批处理,但通过分块读取文件、增量更新 DataFrame 和使用生成器等方式,也能实现简单的流式计算。文章还详细讨论了内存溢出、数据类型不一致、数据丢失或重复及性能瓶颈等常见问题的解决方案,并建议在处理大规模数据时使用专门的流式计算框架。
450 100
Pandas高级数据处理:数据流式计算
|
7月前
|
数据可视化 数据挖掘 数据处理
Pandas高级数据处理:交互式数据探索
Pandas 是数据分析中常用的数据处理库,提供了强大的数据结构和操作功能。本文从基础到高级,逐步介绍 Pandas 中交互式数据探索的常见问题及解决方案,涵盖数据读取、检查、清洗、预处理、聚合分组和可视化等内容。通过实例代码,帮助用户解决文件路径错误、编码问题、数据类型不一致、缺失值处理等挑战,提升数据分析效率。
164 32
|
7月前
|
数据采集 数据可视化 数据处理
Pandas高级数据处理:数据仪表板制作
《Pandas高级数据处理:数据仪表板制作》涵盖数据清洗、聚合、时间序列处理等技巧,解决常见错误如KeyError和内存溢出。通过多源数据整合、动态数据透视及可视化准备,结合性能优化与最佳实践,助你构建响应快速、数据精准的商业级数据仪表板。适合希望提升数据分析能力的开发者。
160 31
|
7月前
|
存储 安全 数据处理
Pandas高级数据处理:数据安全与隐私保护
在数据驱动的时代,数据安全和隐私保护至关重要。本文探讨了使用Pandas进行数据分析时如何确保数据的安全性和隐私性,涵盖法律法规要求、用户信任和商业价值等方面。通过加密、脱敏、访问控制和日志审计等技术手段,结合常见问题及解决方案,帮助读者在实际项目中有效保护数据。
140 29
|
7月前
|
缓存 数据可视化 BI
Pandas高级数据处理:数据仪表板制作
在数据分析中,面对庞大、多维度的数据集(如销售记录、用户行为日志),直接查看原始数据难以快速抓住重点。传统展示方式(如Excel表格)缺乏交互性和动态性,影响决策效率。为此,我们利用Python的Pandas库构建数据仪表板,具备数据聚合筛选、可视化图表生成和性能优化功能,帮助业务人员直观分析不同品类商品销量分布、省份销售额排名及日均订单量变化趋势,提升数据洞察力与决策效率。
118 12
|
7月前
|
消息中间件 数据挖掘 数据处理
Pandas高级数据处理:数据流式计算
在大数据时代,Pandas作为Python强大的数据分析库,在处理结构化数据方面表现出色。然而,面对海量数据时,如何实现高效的流式计算成为关键。本文探讨了Pandas在流式计算中的常见问题与挑战,如内存限制、性能瓶颈和数据一致性,并提供了详细的解决方案,包括使用`chunksize`分批读取、向量化操作及`dask`库等方法,帮助读者更好地应对大规模数据处理需求。
151 17
|
7月前
|
数据可视化 数据挖掘 数据处理
Pandas高级数据处理:数据可视化进阶
Pandas是数据分析的强大工具,能高效处理数据并与Matplotlib、Seaborn等库集成,实现数据可视化。本文介绍Pandas在绘制基础图表(如折线图)和进阶图表(如分组柱状图、热力图)时的常见问题及解决方案,涵盖数据准备、报错处理、图表优化等内容,并通过代码案例详细解释,帮助读者掌握数据可视化的技巧。
146 13
|
7月前
|
存储 安全 数据处理
Pandas高级数据处理:数据加密与解密
本文介绍如何使用Pandas结合加密库(如`cryptography`)实现数据加密与解密,确保敏感信息的安全。涵盖对称和非对称加密算法、常见问题及解决方案,包括密钥管理、性能优化、字符编码和数据完整性验证。通过示例代码展示具体操作,并提供常见报错的解决方法。
128 24
|
7月前
|
数据采集 SQL 数据可视化
Pandas高级数据处理:交互式数据探索
Pandas是Python中流行的数据分析库,提供丰富的数据结构和函数,简化数据操作。本文从基础到高级介绍Pandas的使用,涵盖安装、读取CSV/Excel文件、数据查看与清洗、类型转换、条件筛选、分组聚合及可视化等内容。掌握这些技能,能高效进行交互式数据探索和预处理。
82 6
|
7月前
|
存储 数据采集 数据挖掘
Pandas高级数据处理:数据流处理
Pandas是Python中高效处理数据分析的流行库。随着数据量增长,传统的批量处理方式难以满足实时性需求,掌握Pandas的数据流处理技术尤为重要。常见问题包括文件格式不兼容、内存不足、缺失值和重复数据等。针对这些问题,可以通过指定参数读取文件、分块读取、填充或删除缺失值、去除重复数据、转换数据类型等方法解决。此外,还需注意KeyError、ValueError和MemoryError等常见报错,并采取相应措施。掌握这些技巧可提高数据处理效率和准确性。
176 26