Scott's Blog

明生写字的地方

Python 中的描述符

注:本文是个人阅读 《Fluent Python》 第 6 部分和 观看 Luciano Ramalho - Decorators and descriptors decoded - PyCon 2017 的笔记 假设有个销售散装有机食物的电商应用,客户可以按重量订购坚果、干果或杂粮,在这个系统中,每个订单中都有一系列商品,而每个商品都可以用下面类表示。 LineItem 01 版 &...

数据分析中的命令行工具(3)

成为创造者--快速创建命令行工具

前言 无论是数据分析还是其他,总有一行命令解决不了的事,这时,便需要把工作流程写成脚本,Shell 脚本太复杂,人生苦短,掌握一些 Python 命令行脚本技巧,你会感叹世界如此美好。入职几个月,针对日常高频工作写了几十个 Python 脚本,其中有些脚本几乎没有参数,如执行一段流程,类似一键导出数据库等,有些带有两三个参数,还有些脚本拥有复杂嵌套参数。作为一个命令行钟爱者,这些脚本借助的...

数据分析中的命令行工具(2)

做一个优雅的调包侠--擅用第三方包

本文不以具体工具为组块,而按数据处理流程介绍各类命令行工具的用法,看本文前,建议提前下载以下工具。 CSV 系列工具 dilshod/xlsx2csv: Convert xslx to csv, it is fast, and works for huge xlsx files getsheets csvkit 1.0.1 — csvki...

数据分析中的命令行工具(1)

Linux Shell 内置命令

自 16 年 9 月开始转岗「数据分析师」,已近 4 月,数据分析的前提是数据清洗和整理,在诸多重复性工作中,命令行无疑帮了大忙,多数任务用 Python 等编程语言得写小会代码,而命令行通常一两行就能解决,这篇文章是我最常用的系统内置命令介绍,Mac 系统可参考 这个答案 下载 GNU 工具。 head & tail 查看数据 head -n Number filename t...

Pandas 和 MySQL 搭配使用

背景 公司服务器托管在阿里云,系统为 CentOS,所有商品数据在其 MySQL 数据库中。 现在需要一个批量/自动化脚本能把采购经理整理的 Excel 数据一键上传到数据库。 解决方案 也许你会想「这个简单,把 Excel 转化为 SQL 语句不就好了」,且不说转化起来不容易,本身 Excel 的数据就不够干净,需先做数据处理与清洗。 最后,经过一番搜索,找到了 Python 的这个...

终端播放神器 cmus

安装 id3v2 $ brew install id3v2 cmus $ brew install --HEAD cmus 问题解决 cmus 里面输入 :set output_plugin=coreaudio 可解决 -、+ 号键调节声音问题; 输入 :set softvol=true 可解决 Warnni...

Git 常用命令

目录: [TOC] 配置 git config --global color.ui true git config --global alias.co checkout git config --global alias.ci commit git config --global alias.st status git config --global alias.br branch g...

小米路由科学上网记

背景: 家里好几台电脑,有些配置了 ss,有些没,特别是 Linux,下载一些特别包速度很慢,配置几次 ss 都没成功,做运维的 @ibrother 建议刷路由固件,以便家中全网科学上网,所幸有这位热心兄弟帮助,折腾几小时达成目标。 流程: 小米路由升级为开发者版,备份原版 uboot 刷入 breed bootload 刷入 padavan 固件 ss 设置 电...

用 Python 与 R 做英文书词频统计

背景 最近在学 MIT 的线代课,教授讲的极好,但用的是英文教材,无奈我英文太烂,有些概念看不太懂,于是便想做个词频分析,方便熟悉概念和记忆数学高频词。 首先下载 pdf 文件,链接: https://pan.baidu.com/s/1qYEgcEw 密码: 3fby。然后把需要把 pdf 转为 txt,Linux 下有个小工具 python-pdfminer,可用sudo apt-ge...

R 语言常用包

读取、输出与向量化操作

数据读取与输出 读取 read.table 读取普通数据可用 read.table,有6个参数比较重要: file:文件路径 sep:文件的分隔符,缺省无 skip:跳过开始的 skip 行开始读取 header:是否将第一行读取为列名,缺省 FALSE nrows:读取的行数 fill:将缺失数据定为 NA, 缺省并无指定 高阶包 readr 也可用 ...