git(/ɡɪt/,关于这个音频文件 音频(帮助·信息))是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。应注意的是,这与GNU Interactive Tools[6](一个类似Norton Commander界面的文件管理器)有所不同。维基百科
第三步:$git commit -m “wrote a readme file” 提交(本次提交的说明)
(PS: commit之前需要add)
常用git命令:
1.还没add
2.add但是还没commit
3.已经commit
在本地删除文件,有两种选择:
利用github作为免费托管的git仓库~
PS:每次使用命令提交进行版本控制很麻烦,可以选择工具:SourceTree
附上mac简单命令:
学习地址:《Python爬虫学习系列教程》学习笔记
实战:
Python爬虫实战一之爬取糗事百科段子
使用urllib2库和正则表达式抓取静态新闻网站十篇英文新闻,并统计每篇文章tf-idf的top10保存到txt文件中:
刚学了几天python写的,代码写得很烂:
#coding=utf-8
import math
import json
#coding=utf-8
import urllib
import urllib2
import re
import string
import sys
import os
url = ['http://www.chinadaily.com.cn/china/2016-04/12/content_24471420.htm']
url.append('http://www.chinadaily.com.cn/china/2016-04/12/content_24470515.htm')
url.append('http://www.chinadaily.com.cn/business/2016-04/12/content_24457629.htm')
url.append('http://www.chinadaily.com.cn/business/2016-04/09/content_24397697.htm')
url.append('http://www.chinadaily.com.cn/business/2016-04/09/content_24397290.htm')
url.append('http://www.chinadaily.com.cn/business/chinadata/2016-03/16/content_23898438.htm')
url.append('http://www.chinadaily.com.cn/business/2016-04/12/content_24460897.htm')
url.append('http://www.chinadaily.com.cn/business/2016-04/12/content_24470803.htm')
url.append('http://www.chinadaily.com.cn/business/2016-04/12/content_24455437.htm')
url.append('http://www.chinadaily.com.cn/business/2016-04/12/content_24481250.htm')
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = {'User-Agent' : user_agent}
try:
for i in range(10):
request = urllib2.Request(url[i],headers=headers)
response = urllib2.urlopen(request)
content = response.read().decode('utf-8')
title_pattern = re.compile('div.*?Title_e">(.*?)
(.*?)
.*?') if(items.__len__()>0): myitem = re.findall(mypat,items[0]) len = myitem.__len__() #a = [] #for j in range(len): #a.append(re.split(r' |,|\(|\)|\.',str(myitem[j]))) #print a for j in range(len): f.write(myitem[j]) except urllib2.URLError,e: if hasattr(e,"code"): print e.code if hasattr(e,"reason"): print e.reason t=0 Dict_idf ={} Dict_tf = {} DicList =[] for j in range(10): f_name = str(j+1)+'.txt' f = open(f_name) mystr = f.read() f.close() #print mystr.__len__() len = mystr.__len__() #print len str_p = "" myarticle = [] for i in range(len): if mystr[i]=='.' or mystr[i]==',': if i后来学习了beautifulsoup之后,重新实现的代码:
使用Python爬取十篇新闻统计TF-IDF
学习地址:Python爬虫利器二之Beautiful Soup的用法
Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。百度百科
学习地址:
- Python 数据分析包:pandas 基础
- 10minutes to pandas
- 10minutes to pandas中文版
Series 和 DataFrame 分别对应于一维的序列和二维的表结构。
pandas 约定俗成的导入方法如下:
from pandas import Series,DataFrame
import pandas as pd
常用函数:
df[:2]
df["one":"three"]
df.ix[:2,:3] #前两行三列
df.ix[:,"year":"year"]
f = lambda x:x.max()-x.min()
df.apply(f,axis=0)
df.apply(f,axis=1)
ucount = np.array(df['username']!='-1').sum()
subject_list = ['math','english','music']
count_list = (df[df['username']!='-1'].loc[:, subject_list]).apply(lambda x: (x > 0).sum(), axis=0)
for pos,x in enumerate(count_list):
mydict[subject_list[pos]] = x
didf = df[df['username']!=-1].groupby('sex')['id'].count()
mydict['man'] = didf['man']
mydict['woman'] = didf['woman']
Echarts是数据可视化的神器
官网地址:http://echarts.baidu.com/
下面是简单的例子:
<html>
<head>
<meta charset="utf-8">
<title>EChartstitle>
<script src="echarts.min.js">script>
head>
<body>
<div id="main" style="width: 600px;height:400px;">div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
option = {
title: {
text: '到课率',
subtext: '@monkey'
},
tooltip: {
trigger: 'axis'
},
toolbox: {
show: true,
feature: {
dataZoom: {},
dataView: {readOnly: false},
magicType: {type: ['line', 'bar']},
restore: {},
saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['6-9','6-10','6-11','6-12']
//data: [{{ mydict['days']|join(',') }}]
},
yAxis: {
type: 'value',
axisLabel: {
formatter: '{value} %'
}
},
series: [
{
name:'到课率',
type:'line',
data:[80, 85, 87, 90],
markPoint: {
data: [
{type: 'max', name: '最大值'},
{type: 'min', name: '最小值'}
]
},
markLine: {
data: [
{type: 'average', name: '平均值'}
]
}
},
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
script>
body>
html>
$wget https://bootstrap.pypa.io/get-pip.py
$sudo python get-pip.py
$pip install jupyter
$jupyter notebook
安装使用jupyter(原来的notebook)