📜  使用 Pandas 进行数据分析(1)

📅  最后修改于: 2023-12-03 15:36:32.853000             🧑  作者: Mango

使用 Pandas 进行数据分析

介绍

Pandas 是 Python 中一个强大的数据分析库,它提供了广泛的数据分析工具,包括数据清洗、数据转换、数据分组、数据聚合等。它的数据结构非常简单易用,并且可以配合其他 Python 库如 NumPy、Matplotlib 进行实现复杂的数据分析。

安装

使用 pip 安装最新版本的 Pandas:

pip install pandas
基础数据结构

Pandas 最基本的数据结构是 Series 和 DataFrame。

Series

一个 Series 可以看作由一个序列的值以及对应的标签组成,即一维数组。我们可以通过以下方式创建一个 Series:

import pandas as pd

s = pd.Series([1, 3, 5, 7, 9])
print(s)

输出结果:

0    1
1    3
2    5
3    7
4    9
dtype: int64
DataFrame

一个 DataFrame 是一个多维数组,可以看作是多个 Series 组成。我们可以通过以下方式创建一个 DataFrame:

import pandas as pd
import numpy as np

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
    'age': [23, 45, 22, 37, 28],
    'gender': ['F', 'M', 'M', 'M', 'F'],
    'city': ['Beijing', 'Shanghai', 'Shanghai', 'Beijing', 'Beijing']
}

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

输出结果:

       name  age gender      city
0     Alice   23      F   Beijing
1       Bob   45      M  Shanghai
2   Charlie   22      M  Shanghai
3     David   37      M   Beijing
4       Eva   28      F   Beijing
数据操作

一旦我们有了 Pandas 数据对象,我们就可以进行各种各样的数据操作了。

数据选择

可以使用 df['column_name'] 或者 df.column_name 从 DataFrame 中选择一列数据,也可以使用 df.loc[row_index, column_name]df.iloc[row_index, column_index] 来选择指定的数据。

数据过滤

可以使用条件语句来过滤 DataFrame 数据,如:

df[df.age > 30]
数据排序

可以使用 sort_values() 来对指定的列进行排序。

df.sort_values('age', ascending=False)
数据分组与聚合

使用 groupby() 方法可以按照某些列来进行分组,然后使用聚合函数如 sum()mean()count() 等来进行聚合操作。

df.groupby('gender').mean()
数据清洗

在数据分析过程中,我们可能需要对数据进行一些清洗。

数据去重

可以使用 drop_duplicates() 方法来进行数据去重。

df.drop_duplicates()
缺失值处理

可以使用 fillna() 方法来将缺失值填充为指定的值或者通过一定的方式计算缺失值,也可以使用 dropna() 方法来删除缺失值所在的行或列。

df.fillna(0)
df.dropna()
数据导入和导出

Pandas 支持多种文件格式的导入和导出,包括 CSV、Excel、JSON、SQL 等。

CSV 文件

导入 CSV 文件:

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

导出 CSV 文件:

df.to_csv('data.csv', index=False)
Excel 文件

导入 Excel 文件:

df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

导出 Excel 文件:

df.to_excel('data.xlsx', sheet_name='Sheet1', index=False)
JSON 文件

导入 JSON 文件:

df = pd.read_json('data.json')

导出 JSON 文件:

df.to_json('data.json', orient='records')
结论

Pandas 提供了丰富的数据分析工具,可以帮助我们更方便地进行数据处理和数据分析。同时,Pandas 的数据结构和常用的数据操作和其他 Python 库相兼容,可以进一步扩展数据分析的能力。