讲师中心 微信公众号
AI工具推荐 视频效率加速

Python中如何使用Pandas库 数据分析中的常见操作技巧

云墨君_6552

云墨君_6552

发布时间:2025-06-28 22:23:01

|

523人浏览过

|

来源于php中文网

原创

pandas是python数据分析的核心工具,安装使用pip install pandas,导入为import pandas as pd。创建dataframe可从字典或csv文件读取,如pd.dataframe(data)或pd.read_csv('your_data.csv')。数据选择可通过列名或条件过滤实现,如df['姓名']或df[df['年龄'] >= 28]。数据清洗包括填充缺失值fillna()、删除缺失值dropna()和去重drop_duplicates()。类型转换用astype()函数,应用函数可用apply()方法。数据聚合与分组通过groupby()完成,如按城市计算平均年龄。处理大型数据集时,可用分块读取read_csv+chunksize、dask并行计算或优化数据类型。与sql交互可用read_sql_query读取和to_sql写入数据库。时间序列分析支持date_range创建序列、resample重采样和rolling移动窗口计算。掌握这些技巧能高效挖掘数据价值。

Python中如何使用Pandas库 数据分析中的常见操作技巧

Pandas是Python数据分析的瑞士军刀,掌握它能让你在数据世界里畅游无阻。它不仅提供了高效的数据结构,还内置了大量数据处理函数,让数据清洗、转换、分析变得轻松愉快。

Python中如何使用Pandas库 数据分析中的常见操作技巧

Pandas的核心在于DataFrame和Series这两种数据结构。DataFrame可以看作是电子表格或SQL表,而Series则是一维的、带标签的数组。

Python中如何使用Pandas库 数据分析中的常见操作技巧

解决方案

  1. 安装Pandas:

    立即学习“Python免费学习笔记(深入)”;

    Python中如何使用Pandas库 数据分析中的常见操作技巧
    pip install pandas
  2. 导入Pandas:

    import pandas as pd
  3. 创建DataFrame:

    • 从字典创建:

      data = {'姓名': ['Alice', 'Bob', 'Charlie'],
              '年龄': [25, 30, 28],
              '城市': ['北京', '上海', '深圳']}
      df = pd.DataFrame(data)
      print(df)
    • 从CSV文件读取:

      df = pd.read_csv('your_data.csv') # 假设你的数据文件名为your_data.csv
      print(df.head()) # 查看前几行数据
  4. 数据选择与过滤:

    • 选择列:

      names = df['姓名'] # 选择'姓名'列
      print(names)
    • 按条件过滤:

      adults = df[df['年龄'] >= 28] # 选择年龄大于等于28岁的人
      print(adults)
  5. 数据清洗:

    • 处理缺失值:

      # 填充缺失值
      df_filled = df.fillna(0) # 用0填充所有缺失值
      df_filled_mean = df.fillna(df.mean(numeric_only=True)) # 用均值填充数值列的缺失值
      
      # 删除包含缺失值的行
      df_dropna = df.dropna()
    • 删除重复值:

      df_deduplicated = df.drop_duplicates()
  6. 数据转换:

    macOS UI 自动化技能包 —— 用 Python 控制你的 Mac
    macOS UI 自动化技能包 —— 用 Python 控制你的 Mac

    让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限

    下载
    • 类型转换:

      df['年龄'] = df['年龄'].astype(int) # 将'年龄'列转换为整数类型
    • 应用函数:

      def add_prefix(name):
          return 'Mr./Ms. ' + name
      
      df['姓名'] = df['姓名'].apply(add_prefix) # 给'姓名'列的每个值添加前缀
      print(df)
  7. 数据聚合与分组:

    # 按城市分组,计算平均年龄
    grouped = df.groupby('城市')['年龄'].mean()
    print(grouped)

如何高效地处理大型数据集?

当数据集变得庞大时,Pandas的处理速度可能会下降。这时,可以考虑以下策略:

  • 分块读取: 使用pd.read_csv的chunksize参数,将大文件分成小块读取。

    for chunk in pd.read_csv('large_data.csv', chunksize=10000):
        # 处理每个数据块
        process_chunk(chunk)
  • 使用Dask: Dask是一个并行计算库,可以与Pandas无缝集成,加速数据处理。

    import dask.dataframe as dd
    
    ddf = dd.read_csv('large_data.csv')
    result = ddf.groupby('城市')['年龄'].mean().compute() # 使用compute()触发计算
    print(result)
  • 优化数据类型: 确保DataFrame使用合适的数据类型,例如将字符串类型转换为category类型可以节省内存。

    df['城市'] = df['城市'].astype('category')

Pandas DataFrame与SQL数据库的交互技巧

Pandas可以方便地与SQL数据库进行交互,让你在Python中直接操作数据库数据。

  • 读取SQL数据:

    import sqlite3
    
    conn = sqlite3.connect('your_database.db')
    query = "SELECT * FROM your_table"
    df = pd.read_sql_query(query, conn)
    conn.close()
    print(df.head())
  • 写入DataFrame到SQL:

    import sqlite3
    from sqlalchemy import create_engine
    
    #方法一:使用sqlite3
    conn = sqlite3.connect('your_database.db')
    df.to_sql('new_table', conn, if_exists='replace', index=False) # if_exists参数控制如何处理已存在的表
    conn.close()
    
    #方法二:使用sqlalchemy
    engine = create_engine('sqlite:///your_database.db')
    df.to_sql('new_table', engine, if_exists='replace', index=False)
    engine.dispose()

如何利用Pandas进行时间序列分析?

Pandas对时间序列数据提供了强大的支持,可以方便地进行时间序列分析。

  • 创建时间序列:

    dates = pd.date_range('2023-01-01', periods=100, freq='D') # 创建一个从2023-01-01开始,长度为100天的时间序列
    ts = pd.Series(range(100), index=dates)
    print(ts.head())
  • 重采样:

    # 将数据按月重采样,并计算平均值
    monthly_mean = ts.resample('M').mean()
    print(monthly_mean)
  • 移动窗口:

    # 计算7天移动平均
    rolling_mean = ts.rolling(window=7).mean()
    print(rolling_mean.head(10))

掌握这些技巧,你就能在Python中利用Pandas轻松驾驭数据,挖掘出有价值的信息。

热门AI工具

更多
讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

4623

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

951

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

1209

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

6621

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

3363

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

6600

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

9061

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

1230

2024.04.29

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

60

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn