一、装家伙事儿:整上Python全家桶
咱要整数据分析,得先备好家伙事儿,跟杀猪菜得配齐酸菜白肉血肠一个理儿!
1.
Anaconda:这玩意儿是东北乱炖式安装包,一锅出啥都有
(官网下载地址:https://www.anaconda.com)[1]
(安装时记得勾选"Add to PATH",就跟腌酸菜得抹盐一个道理)
2.
Jupyter Notebook:这可是咱的炕头笔记本
装好了在命令行敲:
jupyter notebook
浏览器自动弹出个页面,跟开小卖部似的想写啥写啥
二、Pandas库:数据界的铁锅炖
这玩意儿处理表格数据,比大铁锅炖酸菜还香!先整几个必杀技:
1.
读取数据(跟收苞米似的往家搬)
import pandas as pd
# 从Excel扒拉数据
data = pd.read_excel("老王家烧烤摊.xlsx")
# 看前五行,跟掀锅盖瞅菜熟没熟一样
print(data.head())
2.
挑挑拣拣(跟摘烂菜叶似的清洗数据)
# 专要卖超过50块的订单
dafei_data = data[data["金额"] > 50]
# 把空着的单元格填成"待确认"
data.fillna("待确认", inplace=True)
3.
算总账(比村会计打算盘还快)
# 按菜品算卖了多少份
print(data.groupby('菜品')['数量'].sum())
# 周末营业额平均值
weekend_mean = data[data['是否周末']=='是']['金额'].mean()
三、Matplotlib:画炕头统计图
数据可视化就跟过年贴窗花似的,得整得明明白白!
import matplotlib.pyplot as plt
# 整个月份销售额走势
month_sales = data.groupby('月份')['金额'].sum()
plt.plot(month_sales.index, month_sales.values, marker='o', color='东北红')
plt.title("老王家烧烤2023年业绩走势")
plt.xlabel("月份") # x轴标注
plt.ylabel("营业额(元)") # y轴标注
plt.grid(True) # 打格子线
plt.show() # 跟掀门帘似的展示
四、实战案例:给烧烤摊老板支招
场景:老王头愁得直嘬牙花子:"天天忙得脚打后脑勺,咋就赚不着钱呢?"
咱用数据给他整明白:
1.
找出赔钱货
# 算每个菜的利润率(假设有成本价列)
data['利润'] = data['金额'] - data['成本价']
loser_dishes = data.groupby('菜品')['利润'].mean().sort_values()
print("拖后腿菜品TOP3:\n", loser_dishes.head(3))
2.
黄金时段分析
# 把时间拆成小时段
data['小时'] = pd.to_datetime(data['时间']).dt.hour
peak_hours = data.groupby('小时')['金额'].sum().idxmax()
print("最佳吆喝时段:晚上{}点".format(peak_hours))
3.
套餐搭配建议
# 找常一起点的菜品组合
combo = data.groupby(['订单号','菜品'])['菜品'].count().unstack().fillna(0)
from mlxtend.frequent_patterns import apriori
frequent_itemsets = apriori(combo, min_support=0.1, use_colnames=True)
print("推荐套餐:\n", frequent_itemsets.sort_values('support', ascending=False))
五、数据整容高级操作
1.
处理奇葩数据(跟收拾熊孩子似的)
# 手机号写成"123-4567"的
data['联系电话'] = data['联系电话'].str.replace('-','')
# 把"一百五"转换成150
data.loc[data['金额']=='一百五', '金额'] = 150
2.
时间序列分析
# 转换成正经时间格式
data['日期'] = pd.to_datetime(data['日期'], format='%Y年%m月%d日')
# 算每周环比增长
weekly = data.resample('W', on='日期')['金额'].sum().pct_change()
3.
导出漂亮报表
with pd.ExcelWriter('分析报告.xlsx') as writer:
data.to_excel(writer, sheet_name='原始数据')
summary_table.to_excel(writer, sheet_name='汇总统计')
六、避坑指南(血泪教训)
1.
数字当字符串:
# 错误示范
total = "100" + "200" # 会得到"100200"
# 正确姿势
total = int("100") + int("200")
2.
忘记重置索引:
filtered_data = data[data['金额']>100]
# 直接取第5行会出错!
print(filtered_data.iloc[5])
# 应该先重置
filtered_data.reset_index(drop=True, inplace=True)
3.
内存爆炸(处理大文件时):
# 一次读1万行
chunksize = 10000
for chunk in pd.read_csv('超大数据.csv', chunksize=chunksize):
process(chunk) # 分批处理
七、数据分析师的自我修养
1.
多问为什么:
•为啥周二卖得差?是不是因为隔壁澡堂子周二半价?•外卖订单突然上涨,是美团给补贴了还是天气不好?
2.
学会讲故事:
把折线图说成"业绩过山车"
把饼图说成"各菜品分猪肉"
3.
备好常用话术:
•"这个异常值需要进一步排查"(翻译:这数咋差这么多?)•"建议做AB测试"(翻译:咱拿两个方案试试哪个好使)
(敲黑板总结)老铁们记住喽!数据分析就跟腌酸菜似的:
1.得选好缸(工具用Python)2.一层层码踏实(数据清洗)3.压上石头等发酵(耐心分析)4.最后捞出来那叫一个香(出洞见)
赶紧整两行代码试试!下回遇见老板甩过来个Excel,你就拍胸脯子:"整这玩意儿,不比嗑毛嗑儿难!" 保准让同事看得直竖大拇哥:"哎呀妈呀,这老妹儿/大兄弟有两把刷子!"