首页 > 其他分享 >AIGC基础工具-用于数据分析和数据处理的核心库Pandas介绍

AIGC基础工具-用于数据分析和数据处理的核心库Pandas介绍

时间:2024-09-28 11:48:27浏览次数:10  
标签:数据分析 df Series Age AIGC pd 数据 Pandas

在这里插入图片描述

文章目录


Pandas 是 Python 中用于数据分析和数据处理的核心库。它建立在 NumPy 之上,提供了更加高级和便捷的数据结构和工具,尤其适合处理结构化数据(如表格数据)。Pandas 的功能强大且易用,广泛应用于数据科学、金融、统计、机器学习等领域。以下将详细介绍 Pandas 的核心概念、功能及应用。


1. Pandas 的核心数据结构

Pandas 主要提供两种核心数据结构:

1.1 Series

Series 是一种一维的数据结构,类似于 Python 的列表或 NumPy 的一维数组,但增加了标签索引 (index),即每个元素都有一个与之关联的索引值。

创建 Series
import pandas as pd

# 从列表创建 Series
s = pd.Series([10, 20, 30, 40])

# 从字典创建 Series
s_dict = pd.Series({'a': 1, 'b': 2, 'c': 3})

print(s)
print(s_dict)
Series 重要属性
  • index:Series 的索引标签。
  • values:Series 中的值。
  • dtype:数据类型。
示例
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print("索引:", s.index)
print("值:", s.values)
1.2 DataFrame

DataFrame 是 Pandas 中最常用的二维数据结构,类似于数据库中的表格。它由多个 Series 组成,每一列的数据都有相同的类型,但每列之间可以有不同类型的数据。

创建 DataFrame
# 从字典创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'Salary': [50000, 60000, 70000]}

df = pd.DataFrame(data)
print(df)
DataFrame 重要属性
  • columns:列标签。
  • index:行标签。
  • values:DataFrame 中的数据值,返回一个 NumPy 数组。
示例
print("列标签:", df.columns)
print("行标签:", df.index)
print("数据:", df.values)

2. Pandas 数据的导入与导出

Pandas 支持多种数据格式的导入和导出,常见的有 CSV、Excel、SQL 数据库、JSON 等格式。

2.1 读取 CSV 文件
df = pd.read_csv('data.csv')
2.2 读取 Excel 文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
2.3 写入 CSV 文件
df.to_csv('output.csv', index=False)  # index=False 防止保存索引列
2.4 读取 JSON 文件
df = pd.read_json('data.json')

3. Pandas 的数据操作

Pandas 提供了丰富的数据操作功能,包括数据选择、过滤、排序、聚合等。

3.1 数据选择和过滤
选择列
# 选择单列
age_column = df['Age']

# 选择多列
subset = df[['Name', 'Salary']]
选择行

使用 loc[] 根据标签选择,或使用 iloc[] 根据位置选择。

# 根据标签选择行
row = df.loc[1]  # 选择索引为 1 的行

# 根据位置选择行
row = df.iloc[0:2]  # 选择前两行
条件筛选
# 选择年龄大于 30 的行
df_filtered = df[df['Age'] > 30]
3.2 数据排序

Pandas 提供了按行或列排序的功能。

# 按列排序
df_sorted = df.sort_values(by='Age', ascending=False)
3.3 数据的添加与删除
添加新列
# 计算新列 "Bonus",为 Salary 的 10%
df['Bonus'] = df['Salary'] * 0.1
删除列或行
# 删除 "Bonus" 列
df = df.drop(columns=['Bonus'])

# 删除第一行
df = df.drop(index=0)

4. 数据清洗与预处理

数据清洗是数据分析中的关键步骤,Pandas 提供了处理缺失值、重复值、类型转换等多种功能。

4.1 处理缺失值
检查缺失值
df.isnull()  # 返回布尔值 DataFrame,True 表示缺失值
df.isnull().sum()  # 每列中缺失值的个数
填充缺失值
# 用 0 填充缺失值
df_filled = df.fillna(0)

# 用列的平均值填充
df['Age'] = df['Age'].fillna(df['Age'].mean())
删除含有缺失值的行或列
# 删除含有缺失值的行
df_dropped = df.dropna()
4.2 处理重复值
# 检查重复值
df.duplicated()

# 删除重复值
df_cleaned = df.drop_duplicates()
4.3 数据类型转换
df['Age'] = df['Age'].astype(float)  # 将 Age 列转换为浮点数类型
4.4 更改列名
df.rename(columns={'Name': 'Full Name'}, inplace=True)

5. 数据聚合与分组操作

Pandas 提供了强大的数据分组与聚合操作,通过 groupby() 方法,可以对数据进行分组后进行各种聚合运算。

5.1 数据分组
grouped = df.groupby('Age')  # 按照 Age 列进行分组
5.2 聚合操作
  • sum():求和。
  • mean():求平均。
  • count():计数。
示例
# 按 Age 分组并计算 Salary 的平均值
grouped_mean = df.groupby('Age')['Salary'].mean()

6. Pandas 的时间序列处理

Pandas 有强大的时间序列处理功能,可以轻松处理带有日期的时间索引、时间戳、周期数据等。

6.1 生成时间序列
# 生成日期范围
date_range = pd.date_range(start='2023-01-01', periods=10, freq='D')
6.2 设置时间索引
df['Date'] = pd.to_datetime(df['Date'])  # 将列转换为日期格式
df.set_index('Date', inplace=True)  # 将 Date 列设置为索引
6.3 处理时间数据
# 按月份聚合
df.resample('M').sum()  # 按月份重采样并求和

7. Pandas 的合并、连接与拼接

Pandas 提供了 SQL 风格的数据合并操作,包括 merge()join()concat()

7.1 merge():SQL 风格的合并
df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['A', 'B', 'D'], 'value2': [4, 5, 6]})

df_merged = pd.merge(df1, df2, on='key', how='inner')  # 内连接
7.2 concat():拼接数据
df_concat = pd.concat([df1, df2], axis=0)  # 按行拼接
7.3 join():索引对齐的合并
df1.set_index('key', inplace=True)
df2.set_index('key', inplace=True)

df_joined = df1.join(df2, how='outer')  # 外连接

8. Pandas 与其他库的结合

Pandas 常与其他库结合使用,如:

  • Matplotlib:进行数据可视化。
  • SciPy:用于统计分析。
  • Scikit-learn:用于机器学习模型训练。
8.1 与 Matplotlib 的结合
import matplotlib.pyplot as plt

df['Age'].plot(kind='hist')  # 绘制年龄的直方图
plt.show()

9. Pandas 的性能优化

虽然 Pandas 功能强大,但在处理大规模数据时,性能

可能会成为瓶颈。以下是一些优化技巧:

9.1 使用 category 数据类型

对于重复值较多的字符串列,可以将其转换为 category 类型,减少内存消耗。

df['Category'] = df['Category'].astype('category')
9.2 使用 chunk 分块读取大文件
chunk_iter = pd.read_csv('large_file.csv', chunksize=1000)  # 每次读取 1000 行
for chunk in chunk_iter:
    process(chunk)  # 对每块数据进行处理

10. Pandas 的应用场景

  • 数据分析:Pandas 提供了方便的数据处理工具,适用于数据清洗、统计分析。
  • 金融领域:用于时间序列数据的处理和金融模型的构建。
  • 机器学习:作为特征工程的主要工具,Pandas 被广泛应用于数据预处理。
  • 统计与科学计算:可以与 NumPy、SciPy 结合进行统计建模和数据分析。

Pandas 凭借其强大的数据处理和分析能力,已成为数据科学领域不可或缺的工具。


结束语
Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

标签:数据分析,df,Series,Age,AIGC,pd,数据,Pandas
From: https://blog.csdn.net/yikezhuixun/article/details/142438670

相关文章

  • AIGC基础工具-科学计算和数据处理的重要库NumPy(Numerical Python)简介
    文章目录1.NumPy的核心概念1.1`ndarray`:多维数组对象示例代码2.NumPy的数据类型(`dtype`)示例代码3.NumPy的数组创建方法3.1使用`array()`创建数组3.2使用`zeros()`和`ones()`3.3使用`arange()`和`linspace()`3.4使用`random`模块生成随机数......
  • 《AIGC 时代程序员的应对之策》
    在AIGC大语言模型不断涌现、AI辅助编程工具日益普及的当下,程序员的工作方式确实面临着深刻变革。对于程序员来说,如何应对这一趋势成为了至关重要的问题。一方面,有人担忧AI可能取代部分编程工作。不可否认,随着技术的发展,一些重复性、规律性强的编程任务可能会被AI高效......
  • 【AIGC】ChatGPT提示词解析:如何生成爆款标题、节日热点文案与完美文字排版
    博客主页:[小ᶻZ࿆]本文专栏:AIGC|ChatGPT文章目录......
  • python爬虫广州城市租房需求数据分析系统 可视化大屏分析系统xumld.
    目录项目介绍技术栈具体实现截图Scrapy爬虫框架关键技术和使用的工具环境等的说明解决的思路开发流程爬虫核心代码展示系统设计论文书写大纲详细视频演示源码获取项目介绍租房者模块账户管理:注册、登录、个人信息编辑、密码更改、账户注销。房源浏览:查看不同类型......
  • Pandas -----------------------基础知识(五)
    索引和列操作函数缺失值索引和列操作#1加载数据#1.1从链家租房数据集中获取天通苑租房区域的所有数据存储在df2中#1.2从df2中获取价格列存储在df2_price对象importpandasaspddf=pd.read_csv('/root/pandas_code_ling/data/b_LJdata.csv')df2=df[df['区......
  • Pandas常用计算函数
    Pandas常用计算函数学习目标知道排序函数nlargest、nsmallest和sort_values的用法知道Pandas中求和、计数、相关性值、最小、最大、平均数、标准偏差、分位数的函数使用1排序函数导包并加载数据集importpandasaspd#加载csv数据,返回df对象df=pd.read_csv('......
  • 8,(经典面试题:分组求topN)Python数分之Pandas训练,力扣,1532. 最近的三笔订单
    学习:知识的初次邂逅复习:知识的温故知新练习:知识的实践应用目录一,原题力扣链接二,题干三,建表语句四,分析五,Pandas解答六,验证七,知识点总结一,原题力扣链接.-力扣(LeetCode)二,题干表:Customers+---------------+---------+|ColumnName|Type|+------......
  • 26,【经典大厂面试题】【连续问题的困难题】Python数分之Pandas训练,力扣,2173. 最多连胜
    学习:知识的初次邂逅复习:知识的温故知新练习:知识的实践应用目录一,原题力扣链接二,题干三,建表语句四,分析五,SQL解答六,验证七,知识点总结一,原题力扣链接.-力扣(LeetCode)二,题干表: Matches+-------------+------+|ColumnName|Type|+-------------+-----......
  • 数据探索Python数据分析入门指南
    在数据驱动的商业环境中,数据分析已成为一项至关重要的技能。Python,以其简洁的语法和强大的数据处理库,成为了数据分析领域的首选语言。本文将为您提供一份Python数据分析的入门指南,帮助您开启数据探索之旅。为什么选择Python进行数据分析?易于学习:Python语法简洁,易于上手,适合初学者。......
  • Python数据分析入门教程
    在数据驱动的商业环境中,数据分析已成为一项至关重要的技能。Python,以其简洁的语法和强大的数据处理库,成为了数据分析领域的首选语言。本文将为您提供一份Python数据分析的入门指南,帮助您开启数据探索之旅。为什么选择Python进行数据分析?易于学习:Python语法简洁,易于上手,适合初学......