Python数据分析实战:pandas教程与案例分析
随着数据时代的到来,数据分析已经成为了各行各业必不可少的技能。而Python作为一门被广泛使用的编程语言,因其强大的数据分析库pandas而备受欢迎。本文将介绍pandas的基本用法和一些实战案例分析。
什么是pandas?
pandas是Python中的一个开源数据分析库,提供了强大的数据结构和数据分析工具,具有快速、灵活、易用等特点。它的主要数据结构是Series和DataFrame,可以快速处理结构化数据,支持读写多种格式的数据,如CSV、Excel、SQL等等。
pandas的安装和导入
在使用pandas之前,需要先安装它。可以使用以下命令在命令行中安装:
```
pip install pandas
```
安装完成后,在Python脚本中使用以下语句导入pandas:
```
import pandas as pd
```
Series和DataFrame
Series是pandas中最基本的数据类型,类似于一维数组,可以存储任意类型的数据。它由两个数组构成,一个数组是数据的实际值,另一个数组是数据的索引。例如:
```
s = pd.Series([1, 3, 5, np.nan, 6, 8])
```
DataFrame是pandas中的一个二维表格数据结构,可以存储多种类型的数据。它由行索引和列索引组成。可以使用以下语句创建DataFrame:
```
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
```
读取、写入数据
pandas支持读写多种格式的数据,如CSV、Excel、SQL等。可以使用以下语句读取CSV文件:
```
df = pd.read_csv('data.csv')
```
可以使用以下语句写入CSV文件:
```
df.to_csv('data.csv', index=False)
```
下面是一个从Excel中读取数据的例子:
```
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
```
数据清洗与转换
数据清洗是数据分析的第一步,可以使用pandas对数据进行清洗和转换。下面是一些常见的数据清洗与转换操作:
- 处理缺失值
缺失值是数据分析中经常遇到的问题,可以使用以下语句检查缺失值:
```
df.isna().sum()
```
使用以下语句填充缺失值:
```
df.fillna(0)
```
- 处理重复值
重复值也是数据分析中常见的问题,可以使用以下语句检查重复值:
```
df.duplicated().sum()
```
使用以下语句删除重复值:
```
df.drop_duplicates(inplace=True)
```
- 数据类型转换
可以使用以下语句将数据类型转换为指定类型:
```
df['column_name'] = df['column_name'].astype(int)
```
数据分析案例
本文将以一个电影数据分析案例来介绍pandas的应用。
首先,我们需要导入电影数据,准备好数据后就可以对数据进行分析。首先看一下数据的前几行:
```
df.head()
```

接下来,我们可以统计不同类型的电影数量:
```
df['genres'] = df['genres'].str.split('|')
genres = df.explode('genres')
genres.groupby('genres')['title'].count().sort_values(ascending=False)
```

然后,我们可以统计不同年份的电影数量:
```
df['year'] = pd.to_datetime(df['release_date']).dt.year
df.groupby('year')['title'].count().plot(kind='line')
```

最后,我们可以根据电影评分和票房进行排序,并选出前10部电影:
```
df['weighted_score'] = (df['vote_count'] / (df['vote_count'] + 250) * df['vote_average']) + (250 / (df['vote_count'] + 250) * df['vote_average'].mean())
df.sort_values(['weighted_score', 'revenue'], ascending=False)[['title', 'vote_count', 'vote_average', 'weighted_score', 'revenue']].head(10)
```

结论
本文介绍了pandas的基本用法和一些实战案例分析,希望对大家学习数据分析有所帮助。pandas是一个强大的数据分析工具,可以快速处理结构化数据,支持读写多种格式的数据。在实际应用中,我们可以使用pandas进行数据清洗、转换和分析,来获取有用的信息,并帮助我们做出更好的决策。