第6章:数据分析基础
6.1 Pandas 数据处理
Pandas是Python中用于数据处理和分析的强大库,它提供了DataFrame和Series等数据结构,方便我们处理和分析结构化数据。
# 导入Pandas库
import pandas as pd
# 创建DataFrame
data = {
'产品': ['产品A', '产品B', '产品C', '产品D'],
'销售额': [12000, 8000, 15000, 10000],
'地区': ['华东', '华南', '华东', '华南'],
'月份': ['2023-01', '2023-01', '2023-01', '2023-01']
}
df = pd.DataFrame(data)
print(df)
# 查看数据基本信息
print("\n数据基本信息:")
print(df.info())
# 查看数据统计描述
print("\n数据统计描述:")
print(df.describe())
# 按地区分组统计销售额
print("\n按地区分组统计销售额:")
region_sales = df.groupby('地区')['销售额'].sum()
print(region_sales)
# 按产品分组统计销售额
print("\n按产品分组统计销售额:")
product_sales = df.groupby('产品')['销售额'].sum()
print(product_sales)
# 筛选销售额大于10000的记录
print("\n销售额大于10000的记录:")
high_sales = df[df['销售额'] > 10000]
print(high_sales)
# 排序
print("\n按销售额降序排序:")
sorted_df = df.sort_values('销售额', ascending=False)
print(sorted_df)
6.2 数据清洗
数据清洗是数据分析的重要步骤,包括处理缺失值、重复值、异常值等。
# 处理缺失值
import pandas as pd
import numpy as np
# 创建包含缺失值的数据
data_with_na = {
'产品': ['产品A', '产品B', '产品C', '产品D'],
'销售额': [12000, np.nan, 15000, 10000],
'地区': ['华东', '华南', '华东', np.nan],
'月份': ['2023-01', '2023-01', np.nan, '2023-01']
}
df_na = pd.DataFrame(data_with_na)
print("原始数据:")
print(df_na)
# 查看缺失值
print("\n缺失值情况:")
print(df_na.isnull().sum())
# 填充缺失值
df_filled = df_na.fillna({
'销售额': 0,
'地区': '未知',
'月份': '2023-01'
})
print("\n填充缺失值后:")
print(df_filled)
# 处理重复值
data_with_duplicates = {
'产品': ['产品A', '产品B', '产品A', '产品C'],
'销售额': [12000, 8000, 12000, 15000]
}
df_duplicates = pd.DataFrame(data_with_duplicates)
print("\n包含重复值的数据:")
print(df_duplicates)
# 去除重复值
df_unique = df_duplicates.drop_duplicates()
print("\n去除重复值后:")
print(df_unique)
6.3 Matplotlib 数据可视化
Matplotlib是Python中用于数据可视化的库,可以创建各种类型的图表,如折线图、柱状图、饼图等。
# 导入Matplotlib库
import matplotlib.pyplot as plt
import pandas as pd
# 创建数据
data = {
'产品': ['产品A', '产品B', '产品C', '产品D'],
'销售额': [12000, 8000, 15000, 10000],
'地区': ['华东', '华南', '华东', '华南'],
'月份': ['2023-01', '2023-01', '2023-01', '2023-01']
}
df = pd.DataFrame(data)
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
# 柱状图
plt.figure(figsize=(10, 6))
plt.bar(df['产品'], df['销售额'])
plt.title('各产品销售额')
plt.xlabel('产品')
plt.ylabel('销售额')
plt.show()
# 饼图
plt.figure(figsize=(8, 8))
plt.pie(df['销售额'], labels=df['产品'], autopct='%1.1f%%')
plt.title('各产品销售额占比')
plt.show()
# 按地区分组统计
region_sales = df.groupby('地区')['销售额'].sum()
# 柱状图
plt.figure(figsize=(10, 6))
region_sales.plot(kind='bar')
plt.title('各地区销售额')
plt.xlabel('地区')
plt.ylabel('销售额')
plt.show()
6.4 商务数据分析综合示例
下面是一个综合示例,展示如何使用Python进行基础的商务数据分析:
代码运行器
数据分析工具安装
要使用Pandas和Matplotlib,需要先安装这些库:
# 安装数据分析库
pip install pandas matplotlib numpy
6.5 数据分析最佳实践
- 数据清洗优先:在分析前,确保数据的质量和完整性
- 可视化辅助分析:使用图表直观展示数据趋势和关系
- 多角度分析:从不同维度分析数据,发现隐藏的模式
- 结合业务知识:将数据分析与业务需求相结合,提供有价值的见解
- 自动化分析流程:编写函数和脚本,自动化重复的分析任务