rima Asked: 2023-08-19 12:47:17 +0800 CST2023-08-19 12:47:17 +0800 CST 2023-08-19 12:47:17 +0800 CST 使用 Python 从数据框中提取信息 772 假设我有一个数据集,其中包含有关在线商店客户的信息。该数据集包括客户名称、购买的产品、购买日期、付款金额以及客户居住的省份等列。我想创建一个分析报告,显示基于省份的总付款金额以及描述每月购买数量的图表。 我使用了分组操作,但没有得到任何结果。 python 1 个回答 Voted Best Answer saraafr 2023-08-19T12:49:17+08:002023-08-19T12:49:17+08:00 import pandas as pd import matplotlib.pyplot as plt data = { 'Customer Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Charlie'], 'Product': ['Product A', 'Product B', 'Product A', 'Product C', 'Product B'], 'Purchase Date': ['2023-01-15', '2023-02-20', '2023-02-18', '2023-03-10', '2023-03-25'], 'Amount': [100, 150, 120, 80, 140], 'Province': ['A', 'B', 'A', 'C', 'B'] } df = pd.DataFrame(data) df['Purchase Date'] = pd.to_datetime(df['Purchase Date']) province_grouped = df.groupby('Province')['Amount'].sum() df['Purchase Month'] = df['Purchase Date'].dt.to_period('M') monthly_grouped = df.groupby('Purchase Month').size() print("The total amount paid according to the provinces:") print(province_grouped) plt.figure(figsize=(10, 5)) monthly_grouped.plot(kind='bar') plt.xlabel('Month') plt.ylabel('Number of purchases') plt.title("Number of purchases in each month") plt.xticks(rotation=45) plt.show()
1 个回答