假设我们有一个电子商务公司的销售数据,包含了客户购买记录、商品价格、购买日期等信息。我们的目标是分析这些数据,提取有价值的信息,例如总销售额、最畅销的产品、销售趋势等。
1、安装引用Pandas
如没有安装 Pandas,可以通过 pip 安装它。参考下面的文档。然后在 Python 脚本或 Jupyter 笔记本中导入 Pandas。
参考文档:Python Pandas 安装和设置
2、加载数据
使用 Pandas 加载数据。Pandas 支持多种格式的数据,如 CSV、Excel、SQL 数据库和 JSON。根据数据源的格式,选择合适的方法进行加载。不同的加载方法可以参考下面的文档。
参考文档:不同的数据源读取数
3、查看数据
可以使用 head() 方法查看数据集的前几行。使用 shape 属性查看行数和列数。使用 info()
方法查看每列的名称、非空值数量和数据类型。对于类别型数据,可以使用 value_counts()
方法来查看每个类别的频数分布。
import pandas as pd
# 假设这是 data.csv 的内容
from io import StringIO
data = StringIO("""
Movie,Rating,Reviews
Inception,8.8,19000
The Matrix,8.7,15000
Interstellar,8.6,20000
The Prestige,8.5,17000
""")
# 读取数据
df = pd.read_csv(data)
# 查看前几行
print("头部数据:")
print(df.head())
# 查看数据集的大小
print("\n数据集大小:")
print(df.shape)
# 查看列名和数据类型
print("\n数据信息:")
print(df.info())
# 查看统计摘要
print("\n统计摘要:")
print(df.describe())
# 检查缺失值
print("\n缺失值检查:")
print(df.isnull().sum())
# 随机抽样
print("\n随机样本:")
print(df.sample(2,replace=False))
4、数据清洗及类型转换
进行数据分析时,数据清洗是一个非常重要的步骤。数据清洗通常包括处理缺失值、去除重复数据、转换数据格式、标准化文本值等操作。相关方法以及示例代码,可以参数下面的文档。
参考文档:Python Pandas 数据清洗
5、数据分析
示例数据为商品每日的销售数量及价格,分析出总的销售的额,和最畅销的产品,最后根据日期和销售额生成柱状图,如下,
import pandas as pd
import matplotlib.pyplot as plt
from io import StringIO
# 示例数据
data = """Date,Product,Quantity,Price
2024-01-01,C,10,20
2024-01-02,C#,15,25
2024-01-03,JAVA,12,30
2024-01-04,Python,20,20
2024-01-05,JavaScript,10,25"""
# 将字符串数据转换为DataFrame
df = pd.read_csv(StringIO(data))
# 数据探索
print("Initial Data:")
print(df.head())
print("\nData Info:")
print(df.info())
# 数据清洗
df = df.dropna()
# 数据转换
df['Date'] = pd.to_datetime(df['Date'])
df['Total_Sales'] = df['Quantity'] * df['Price']
# 数据分析
total_sales = df['Total_Sales'].sum()
best_selling = df.groupby('Product')['Total_Sales'].sum().idxmax()
print(f"\n总销售额: {total_sales}")
print(f"最畅销的产品: {best_selling}")
# 数据可视化
df.groupby(df['Date'].dt.day)['Total_Sales'].sum().plot(kind='bar')
plt.title('Monthly Sales')
plt.xlabel('Month')
plt.ylabel('Total Sales')
plt.show()
参考文档:
Python Pandas 时间序列分析 日期时间的处理和转换