前言

个人作为互联网行业数据分析师工作已有3年之久,日常工作中碰到过问题,也在解决的问题过程中学到了很多。作为组内技术较为资深的组员,也经常在周会中安排环节给组内人员进行知识分享,以及日常帮助同事解决问题,组内的同事在我的分享过程中学到了很多,这让我很有成就感。

其实我个人是比较推荐大家帮人解决问题的,因为碰到的问题很多情况下可以完善自己的知识体系,这也是我想要把我日常分享给同事的内容发到知乎上来的原因,希望可以帮助到更多刚入行的同学。

当然,太过基础的东西很多人在网上都查得到,所以我分享的内容大部分是一些被忽略的功能技巧,但这些技巧实际上对我们日常写代码有很大帮助。

接触数据分析这个职业越多,我越感叹于数据分析涉及工作内容的有趣,以及python的强大,之后会继续分享自己在工作上的一些工作成果以及较为有趣的知识,当然都是包含代码的,希望想要学习到知识的同学可以手动敲敲代码,看看每个代码块的实际效果是什么。

我日常使用的工具:Python,Tableau,数据库(mysql,redshfit),Excel,linux,git

本篇主要介绍下python方向的用到的内容

Python篇

  1. python环境以及编译器
  • jupyter note book:使用jupyter的原因是代码效果实时展示,更方便查看结果,而且我使用了自定义的主题以及安装了插件(会分享给大家设置的方法),总体现在来说是我比较喜欢的界面。




python仿大漠支持库 大漠 python_python


Jupyter自定义的文件夹页

python仿大漠支持库 大漠 python_python_02

写代码时的界面,图中的知识都会分享给大家


  • python3.7:目前python即将推出3.9的beta版,这里说一句,虽然高版本的python功能更加强大,一些功能也做了优化,但稳定性目前来说是python3.6最为稳定,在使用的时候各版本都有一些细微的差别,大家可以在网上查到这些内容,如果有需要提供链接,我在后续更新会加上。总体来说,由于python2版本已经停止维护,都尽量使用python3吧。
  • pycharm:工作中会用pycharm开发大的数据分析项目,更方便对python代码结构化放置。


python仿大漠支持库 大漠 python_python大漠插件多线程_03

pycharm的界面,以及自己的一些代码结构

2.python在工作中需要的相关能力

  • 增删改查数据库:数据库方面是一定需要的能力,无论是大数据还是集中式数据库,互联网公司的数据基本都在数据库里。数据库这里会介绍下常见的几种报错以及处理解决方法。导入包:
import psycopg2
import pymysql
from sqlalchemy import create_engine,text


  • 发送邮件:很多情况下业务方需要的数据需要用邮件的方式拿到数据,所以需要定时发送,具体任务设置要到linux服务器上设置crontab,也有些公司会自己开发任务调度平台,我这里打算简单分享下linux上的设置方法,具体公司具体操作。邮件这里会介绍下附件,发送邮件的格式,图片等等。导入包:
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib


  • 发送钉钉消息:工作中一些脚本任务执行完成,是否成功是否失败最好都要有监控,我们常用的监控方式就是用钉钉消息发送,当然钉钉消息还可以发送很多内容,这个就感兴趣的继续深入研究吧。钉钉消息会说一下设置一个自己使用的钉钉消息通知,作为自己跑的脚本的监控,通过装饰器的方法实现。导入包:
from dingtalkchatbot.chatbot import DingtalkChatbot


  • 数据清洗:利用python进行数据清洗是最基础的工作了,数据合并保存等等,都会遇到,也是大家在学习过程中最基础的内容,这边准备只分享一些写代码时候的小技巧,也会写一些碰到的问题,以供大家参考。主要用到的包就是pandas,还有numpy,但是一些常用的list,set,dict和tuple的小技巧也会在这个模块给大家分享。
import pandas as pd
import numpy as np


  • 可视化:利用图表分析数据是很有效的分析方法,python的可视化库我平常最常用的有seaborn,matplotlib,还有pyecharts,最近越来越喜欢用pyecharts,因为交互性会比较好。这里准备放一些我常用的图形,实现的代码,还有就是如何去判断使用哪种图表进行分析。
import matplotlib.pyplot as plt
import seaborn as sns
import pyecharts
from pyecharts import options as opts


  • git代码仓库:这个就是正常的一些代码部署上线的规范问题,算是程序员的基础操作了。
  • 爬取一些简单数据:爬数据的情况其实遇到的比较少,但也会有些需求,更多的是我个人尝试爬取一些内容自己分析着玩,平常的工作中,只是分析自己公司的数据可能都要占用很大一部分工作时间,所以是否需要写大型的爬虫项目,还是看公司需求。
import requests
from bs4 import BeautifulSoup


  • 时间模块的处理:由于我们公司做了一些跨境的项目,所以对时差的切换还是比较频繁,再加上时间字段实际上运用的比较多,很多细节可能需要在分享下,以便理解,所以加了这个模块。pandas也会包含时间处理,所以一并写上来。
from datetime import datetime, date, timedelta
import pandas as pd


  • 多线程、多进程及协程:由于大多数工作涉及到的数据量很大,而且脚本速度有时会被顺序执行的python拖慢,有一些情况我会用到多线程多进程协程的内容处理,所以也会来分享一些这方面的使用方法。
from threading import Thread


3.python技巧

除去以上部分的分享,还会单独写一部分是python技巧的内容,我还在总结一些,可以先放一部分思维导图上来给大家看下。


python仿大漠支持库 大漠 python_python_04

已有代码

python仿大漠支持库 大漠 python_python仿大漠支持库_05

这部分已经有了代码,会比较快的分享给大家

python仿大漠支持库 大漠 python_python仿大漠支持库_06

这部分是总结到一半的内容,后续总结完后会替换掉

总结:

  1. 这篇对python相关用到的内容进行了大概介绍,后续工作还会用到的以及我个人喜欢研究的方向,之后也会慢慢更新到这篇文章里,作为一个python篇总的目录文章。
  2. 后续文章在创作中,如果大家喜欢我写的分享,或者有想要知道的内容也可以私聊我,我会统一整理帮大家分享出来,希望大家一起共同进步。
  3. 如果大家有什么意见和建议,请私聊我,这也会督促我输出优质的内容并不断打磨自己的技术,感恩~