一文教你如何在 Python 中使用 Pandas 进行数据分析

文摘   2024-11-19 11:07   江苏  

什么是 Pandas?

Pandas 是一个强大的 Python 数据分析库,广泛用于数据清洗、处理和分析。它提供了大量的数据结构和操作工具,使得数据处理变得非常方便。今天,我们就来一起学习如何在 Python 中使用 Pandas 进行数据分析。

安装 Pandas

首先,你需要安装 Pandas。如果你还没有安装,可以使用以下命令:

pip install pandas

导入 Pandas

安装完成后,我们需要导入 Pandas 库。通常我们会使用 pd 作为别名,这样可以简化代码:

import pandas as pd

创建 DataFrame

DataFrame 是 Pandas 中最常用的数据结构,类似于 Excel 表格或 SQL 表。我们可以从多种数据源创建 DataFrame,比如列表、字典、CSV 文件等。

从列表创建 DataFrame

data = {
    'Name': ['Alice''Bob''Charlie'],
    'Age': [253035],
    'City': ['New York''Los Angeles''Chicago']
}

df = pd.DataFrame(data)
print(df)

输出:

      Name  Age         City
0    Alice   25     New York
1      Bob   30  Los Angeles
2  Charlie   35      Chicago

从 CSV 文件创建 DataFrame

假设你有一个名为 data.csv 的文件,内容如下:

Name,Age,City
Alice,25,New York
Bob,30,Los Angeles
Charlie,35,Chicago

你可以使用 read_csv 函数读取这个文件:

df = pd.read_csv('data.csv')
print(df)

输出:

      Name  Age         City
0    Alice   25     New York
1      Bob   30  Los Angeles
2  Charlie   35      Chicago

查看 DataFrame 的基本信息

查看前几行

使用 head 方法可以查看 DataFrame 的前几行,默认显示前 5 行:

print(df.head())

输出:

      Name  Age         City
0    Alice   25     New York
1      Bob   30  Los Angeles
2  Charlie   35      Chicago

查看后几行

使用 tail 方法可以查看 DataFrame 的后几行,默认显示后 5 行:

print(df.tail())

输出:

      Name  Age         City
0    Alice   25     New York
1      Bob   30  Los Angeles
2  Charlie   35      Chicago

查看列名

使用 columns 属性可以查看 DataFrame 的列名:

print(df.columns)

输出:

Index(['Name''Age''City'], dtype='object')

查看数据类型

使用 dtypes 属性可以查看每列的数据类型:

print(df.dtypes)

输出:

Name    object
Age      int64
City    object
dtype: object

数据选择和过滤

选择单列

使用列名可以直接选择单列:

print(df['Name'])

输出:

0     Alice
1       Bob
2    Charlie
Name: Name, dtype: object

选择多列

使用列名列表可以选择多列:

print(df[['Name''Age']])

输出:

      Name  Age
0    Alice   25
1      Bob   30
2  Charlie   35

条件过滤

使用条件表达式可以过滤数据:

filtered_df = df[df['Age'] > 30]
print(filtered_df)

输出:

      Name  Age      City
2  Charlie   35  Chicago

数据排序

使用 sort_values 方法可以对 DataFrame 进行排序:

sorted_df = df.sort_values(by='Age', ascending=False)
print(sorted_df)

输出:

      Name  Age         City
2  Charlie   35      Chicago
1      Bob   30  Los Angeles
0    Alice   25     New York

数据分组

使用 groupby 方法可以对数据进行分组:

grouped_df = df.groupby('City').mean()
print(grouped_df)

输出:

               Age
City              
Chicago        35.0
Los Angeles    30.0
New York       25.0

数据缺失值处理

检查缺失值

使用 isnull 方法可以检查 DataFrame 中的缺失值:

print(df.isnull())

输出:

    Name    Age   City
0  False  False  False
1  False  False  False
2  False  False  False

填充缺失值

使用 fillna 方法可以填充缺失值:

df['Age'] = df['Age'].fillna(0)
print(df)

输出:

      Name  Age         City
0    Alice   25     New York
1      Bob   30  Los Angeles
2  Charlie   35      Chicago

实战案例:分析股票数据

假设我们有一个包含股票价格的 CSV 文件 stock_data.csv,内容如下:

Date,Open,High,Low,Close,Volume
2022-01-01,100,105,95,102,10000
2022-01-02,102,107,98,105,12000
2022-01-03,105,110,100,108,11000
2022-01-04,108,112,103,110,13000
2022-01-05,110,115,105,112,14000

我们将使用 Pandas 对这些数据进行分析。

读取数据

df = pd.read_csv('stock_data.csv')
print(df)

输出:

          Date  Open  High  Low  Close  Volume
0   2022-01-01   100   105   95    102   10000
1   2022-01-02   102   107   98    105   12000
2   2022-01-03   105   110  100    108   11000
3   2022-01-04   108   112  103    110   13000
4   2022-01-05   110   115  105    112   14000

计算每日涨跌幅

df['Change'] = df['Close'].pct_change() * 100
print(df)

输出:

          Date  Open  High  Low  Close  Volume   Change
0   2022-01-01   100   105   95    102   10000      NaN
1   2022-01-02   102   107   98    105   12000   2.941176
2   2022-01-03   105   110  100    108   11000   2.857143
3   2022-01-04   108   112  103    110   13000   1.851852
4   2022-01-05   110   115  105    112   14000   1.818182

绘制收盘价趋势图

import matplotlib.pyplot as plt

plt.figure(figsize=(105))
plt.plot(df['Date'], df['Close'], marker='o')
plt.title('Stock Closing Price Trend')
plt.xlabel('Date')
plt.ylabel('Closing Price')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

总结

本文介绍了如何在 Python 中使用 Pandas 进行数据分析。我们从安装和导入 Pandas 开始,逐步学习了如何创建 DataFrame、查看基本信息、选择和过滤数据、排序、分组、处理缺失值,以及一个实战案例——分析股票数据。

好了,今天的分享就到这里了,我们下期见。如果本文对你有帮助,请动动你可爱的小手指点赞、转发、在看吧!

付费合集推荐

Python编程基础

Python办公自动化-Excel

微信公众号批量上传发布系统

文末福利

公众号消息窗口回复“编程资料”,获取Python编程、人工智能、爬虫等100+本精品电子书。

精品系统

微信公众号批量上传发布系统

关注我👇,精彩不再错过

手把手PythonAI编程
分享与人工智能和python编程语言相关的笔记和项目经历。
 最新文章