Python 数据分析的核心,不是背 API,而是跑通一个闭环:问题 → 数据 → 清洗 → 分析 → 可视化 → 结论 → 行动。工具只是中间的加速器。
一句话:Python 数据分析 = 业务问题 × 干净数据 × 合适方法 × 清晰表达。
安装核心库:
pip install pandas matplotlib scikit-learn openpyxl假设有一份 sales.csv,包含日期、地区、销售额、广告费等字段。下面这段代码已经完成读取、清洗、按月聚合和趋势图。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("sales.csv", parse_dates=["日期"])
df = df.drop_duplicates().fillna({"销售额": 0})
df["月份"] = df["日期"].dt.to_period("M")
monthly = df.groupby("月份")["销售额"].sum()
monthly.plot(title="月度销售额趋势", marker="o")
plt.tight_layout()
plt.show()逐行看:
parse_dates 把日期列转成真正的时间类型。drop_duplicates 去重,fillna 处理缺失。groupby 按月汇总。plot 直接出趋势图。这就是最小可用的分析流程。
知道整体趋势后,下一步是找差异:哪个地区卖得好?哪个月份波动大?
pivot = df.pivot_table(
index="月份",
columns="地区",
values="销售额",
aggfunc="sum"
)
print(pivot.tail())
pivot.plot(title="各地区月度销售额")
plt.show()pivot_table 是诊断分析的利器。它能快速把“整体数据”拆成“结构数据”,帮你定位问题来自哪里。
想进一步看广告费是否带动销售额,可以用相关性或简单回归做基线。
from sklearn.linear_model import LinearRegression
X = df[["广告费"]]
y = df["销售额"]
model = LinearRegression().fit(X, y)
print("系数:", model.coef_[0], "截距:", model.intercept_)注意:相关不等于因果。回归只能说明历史数据里的统计关系,不能直接证明“加广告就一定涨销售”。它适合做基线、找方向,不适合替代业务判断。
把上面的步骤写成一个函数,就能定时生成报表:
def monthly_report(path):
df = pd.read_csv(path, parse_dates=["日期"])
df = df.drop_duplicates().fillna({"销售额": 0})
return df.groupby(df["日期"].dt.to_period("M"))["销售额"].sum()
print(monthly_report("sales.csv"))配合定时任务,每天早上自动跑数、出图、发邮件,财务和运营就不用重复导 Excel。
plt.rcParams["font.sans-serif"] = ["SimHei"]。to_datetime。Python 数据分析不神秘:读进来、洗干净、算清楚、画出来、讲明白。上面几段代码已经覆盖了 80% 的日常场景。真正拉开差距的,不是你会多少库,而是你能不能把数据变成决策。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。