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

相关文章
|
2月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
104 0
|
4月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
129 1
|
4月前
|
数据采集 数据可视化 数据挖掘
Pandas函数大合集:数据处理神器一网打尽!
Pandas函数大合集:数据处理神器一网打尽!
52 0
|
2月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
68 2
|
8月前
|
数据可视化 数据挖掘 数据处理
进阶 pandas DataFrame:挖掘高级数据处理技巧
【5月更文挑战第19天】本文介绍了Pandas DataFrame的高级使用技巧,包括数据重塑(如`pivot`和`melt`)、字符串处理(如提取和替换)、日期时间处理(如解析和时间序列操作)、合并与连接(如`merge`和`concat`),以及使用`apply()`应用自定义函数。这些技巧能提升数据处理效率,适用于复杂数据分析任务。推荐进一步学习和探索Pandas的高级功能。
|
8月前
|
数据处理 索引 Python
使用pandas的merge()和join()函数进行数据处理
使用pandas的merge()和join()函数进行数据处理
144 2
|
3月前
|
并行计算 大数据 数据处理
亿级数据处理,Pandas的高效策略
在大数据时代,数据量的爆炸性增长对处理技术提出更高要求。本文介绍如何利用Python的Pandas库及其配套工具高效处理亿级数据集,包括:采用Dask进行并行计算,分块读取以减少内存占用,利用数据库进行复杂查询,使用内存映射优化Pandas性能,以及借助PySpark实现分布式数据处理。通过这些方法,亿级数据处理变得简单高效,助力我们更好地挖掘数据价值。
193 1
|
3月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
106 3
|
4月前
|
数据采集 数据挖掘 数据处理
Pandas实践:南京地铁数据处理分析
Pandas实践:南京地铁数据处理分析
63 2
|
5月前
|
数据采集 数据挖掘 数据处理
解锁Python数据分析新技能!Pandas实战学习,让你的数据处理能力瞬间飙升!
【8月更文挑战第22天】Python中的Pandas库简化了数据分析工作。本文通过分析一个金融公司的投资数据文件“investment_data.csv”,介绍了Pandas的基础及高级功能。首先读取并检查数据,包括显示前几行、列名、形状和数据类型。随后进行数据清洗,移除缺失值与重复项。接着转换日期格式,并计算投资收益。最后通过分组计算平均投资回报率,展示了Pandas在数据处理与分析中的强大能力。
55 0

热门文章

最新文章