假设我们有一个电子商务公司的销售数据,包含了客户购买记录、商品价格、购买日期等信息。我们的目标是分析这些数据,提取有价值的信息,例如总销售额、最畅销的产品、销售趋势等。
如没有安装 Pandas,可以通过 pip 安装它。参考下面的文档。然后在 Python 脚本或 Jupyter 笔记本中导入 Pandas。
参考文档:Python Pandas 安装和设置
使用 Pandas 加载数据。Pandas 支持多种格式的数据,如 CSV、Excel、SQL 数据库和 JSON。根据数据源的格式,选择合适的方法进行加载。不同的加载方法可以参考下面的文档。
参考文档:不同的数据源读取数
可以使用 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))
进行数据分析时,数据清洗是一个非常重要的步骤。数据清洗通常包括处理缺失值、去除重复数据、转换数据格式、标准化文本值等操作。相关方法以及示例代码,可以参数下面的文档。
参考文档:Python Pandas 数据清洗
参考文档:Python Pandas 数据分析项目实例-CJavaPy
示例数据为商品每日的销售数量及价格,分析出总的销售的额,和最畅销的产品,最后根据日期和销售额生成柱状图,如下,
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 时间序列分析 日期时间的处理和转换