從0開始,Data Scientist之路 Day 4
1.1 安裝了Anaconda Continuum
Anaconda 包含了170多個Python的包,以及Spyder,和Jupyter兩個IDE。
Spyder的界面更像Matlab一點兒,之前花了大量的時間在matlab上,所以看起來很親切。
Jupyter Notebook對我來說是一種比較新穎的開發環境,竟然*尼瑪*可以在瀏覽器里直接寫代碼。還可以動態展示... 驚呆了。。。
1.2 安裝了業界評價最好的Pycharm,學生的話可以免費使用Pro版本 Free for students: Professional developer tools from JetBrains
2. Database Management System 第一節課筆記
Life of Query:
1.Declarative Query(SQL)
2.Query Optimization and Execution3.(Relational) Operators4.File and Access Methods5.Buffer Management
6.Disk space Management
Two sublanguages:
1.DDL Data Definition Language : Define and modify schema
2.DML Data Manipulation Language: Queries can be written intuitively
SQL DDL example
CREATE TABLE Sailors(sid INTEGER,sname CHAR(20),rating INTEGER,age REAL,PRIMARY KEY (sid)); % 我理解 PRIMARY KEY大概是值這類數據中不能重複且用來代表各行數據的值。CREATE TABLE Boats(bid INTEGER,bname CHAR(20),color CHAR(20),PRIMARY KEY(bid));CREATE TABLE Reserves(sid INTEGER,bid INTEGER,day DATE, % 有趣,還有DATE這種數據類型PRIMARY KEY (sid,bid,day), % PRIMARY KEY 可以有多個值共同組成,可以理解為能將該條數據區分於其他數據的值的組合,比如一個人一天只能借一條船,那麼這個組合就能唯一確定一次借閱記錄FOREIGN KEY (sid) REFERENCES Sailors,FOREIGN KEY (bid) REFERENCES Boats); % FOREIGN KEY 應該是指這個KEY是其他表裡借來的PRIMARY KEY.
SQL DML example
SELECT [DISTINCT] <column expression list>FROM <single table>[WHERE <predicate>][GROUP BY <column list>][HAVING <predicate>][ORDER BY <column list>];
比如一個 Single Relation Queries的例子
SELECT S.dept, AVG(S.gpa),COUNT(*)FROM students SWHERE S.gender = FGROUP BY S.deptHAVING COUNT(*)>2ORDER BY S.dept;
實現的功能為,從 students這個數據列表(並在之後的使用中命名為s)中選擇dept,gpa的平均值以及個數作為輸出。
且如果一條數據被選上輸出那麼需要滿足,
要滿足1)gender是F。
2)將所有數據按照dept來組合,有同樣dept值的數據應該至少大於2個。
輸出後,按照dept的拼寫排序。
推薦閱讀:
※答對這些面試題,心儀的數據科學offer來敲門 (上)
※如何用表單收集高價值數據?
※產品經理如何培養數據分析能力
※美國總統大選數據是如何出爐的?