學習《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》之Python數(shù)據(jù)分析簡介

2.1搭建Python開發(fā)平臺

2.1.1所要考慮的問題

Python官網(wǎng):https://www.python.org/

Python是跨平臺的語言,因此腳本可以跨平臺使運行。不同的平臺所運行效率不一樣桑孩, 一般來說倒堕,Linux平臺下會比Windows平臺快

2.1.2基礎(chǔ)平臺的搭建

(1)Windows

直接到官網(wǎng)下載msi安裝包安裝即可

(2)Linux

大多數(shù)Linux發(fā)行版自帶Python2.x版本主程序哪自,因此不需要重新安裝Python程序丰包。

(3)Anaconda

安裝核心程序只是第一步、為了實現(xiàn)更豐富的科學計算功能壤巷,還需要安裝一些第三方的擴展庫邑彪,Anaconda就是其中一個常用的科學計算發(fā)行版。官網(wǎng)地址:https://www.anaconda.com/

Anaconda的特點如下:

  1. 包含了眾多流行的科學胧华、數(shù)學寄症、工程、數(shù)據(jù)分析的Python包矩动;
  2. 完全開源免費有巧;
  3. 額外的加速和優(yōu)化是付費的,但對于學術(shù)用途可申請免費的License悲没;
  4. 全平臺支持篮迎,Linux、Windows檀训、Mac柑潦;支持Python2.x享言、Python3.x峻凫,可自由切換。

2.2Python使用入門

2.2.1運用方式

(1)賦值

a=2+3 #這句話的意思是將2+3的值賦予給a

(2)如注釋多行可用

''' 
這里是多行注釋 這里是多行注釋
'''

2.2.2基本命令

(1)基本運算

a=2 #賦值 a2 #a乘以2 a*2 #a的2次方 a,b,c=1,2,3 #相當于a=1览露,b=2荧琼,c=3 s = 'i like python' #對變量進行賦值(可賦值字符串) s+' very much' #拼接字符串,結(jié)果是i like python very much s.slipt(' ') #對變量以空格分割,結(jié)果為['i', 'like', 'python']

(2)判斷與循環(huán)

1.判斷

if 條件1: 語句2 
  elif 條件3: 
        語句4 
  else : 
        語句5

2.循環(huán)

while循環(huán):

s,k=0,0
while k<101: #在3.x環(huán)境下此過程為1+2+3+...+101 
    k=k+1 
    s=s+k 
print(s)

for循環(huán):

s=0
for k in range(101): #在3.x環(huán)境下此過程為1+2+3+...+100
    s=s+k 
print(s)

3.函數(shù)

def定義函數(shù):

def add2(x): 
   return x+2 
print(add2(1)) #返回結(jié)果為3

Python的函數(shù)可以是多種多樣的命锄,比如返回列表:

def add2(x=0,y=0): 
    return [x+2,y+3] 
def add3(x,y): 
    return x+3,y+3
 a,b=add3(1,2) #a=4,b=5

還支持lambda對簡單的功能定義“行內(nèi)函數(shù)”堰乔,有點像MATLAB里面的“匿名函數(shù)”,如下:

f = lambda x: x+2 #定義函數(shù)f(x)=x+2 
g = lambda x,y = x+y #定義函數(shù)g(x,y)=x+y

(3)數(shù)據(jù)結(jié)構(gòu)

Python有4個內(nèi)建的數(shù)據(jù)結(jié)構(gòu)——list(列表)脐恩、tuple(元組)镐侯、dictionary(字典)、set(集合)驶冒,它們可以統(tǒng)稱為容器苟翻。

1.列表/元組

列表和元組都是序列結(jié)構(gòu),很相似骗污,但是又有不同的地方崇猫;列表a=[1,2,3],元組a=(1,2,3)需忿,用法和功能完全一樣诅炉。
區(qū)別:列表可以被修改,而元組不可以被修改屋厘;與列表有關(guān)的函數(shù)是list涕烧,元組是tuple。

列表與元組相關(guān)函數(shù):
  1. cmp(a,b):比較汗洒;兩個列表/元組的元素
  2. len(a):列表/元組元素個數(shù)
  3. max(a):返回列表/元組元素最大值
  4. min(a):返回列表/元組元素最小值
  5. sum(a):將列表/元組元素求和
  6. sorted(a):對列表的元素進行升序排列
列表的方法:
  1. a.append(1):將1添加到a列表的末尾
  2. a.count(1):統(tǒng)計列表a中1出現(xiàn)的次數(shù)
  3. a.extend([1,2]):將列表[1,2]的內(nèi)容追加到列表a的末尾中
  4. a.index(1):從列表a中找出第一個1的索引位置
  5. a.insert(2,1):將1插入列表a的索引為2的位置
  6. a.pop(1):移除列表a中索引為1的元素

列表解析——能夠簡化我們隊列表元素注意進行操作的代碼:

a = [1,2,3] 
b=[] 
for i in a:
    b.append(i+2) 
print(b) #列表b=[3, 4, 5]

可簡化為:

a=[1,2,3] 
b=[i=2 for i in a] 
print(b) #列表b=[3, 4, 5]

2.字典

通俗來講澈魄,它也是一個列表,但是它的“下標”不再是以“0”開頭的數(shù)字仲翎,而是讓自己定義的“鍵”(key)開始痹扇。
創(chuàng)建一個字典的基本方法為:

d={'today':20,'tomorrow':30} #today/tomorrow就是字典的鍵,20/30則是鍵對應(yīng)的值 d['today'] #該值為20 d['tomorrow'] #該值為30

通過dict()函數(shù)轉(zhuǎn)換溯香,或者通過dict.fromkeys來創(chuàng)建:

dict([['today',20],['tomorrow',30]]) #也相當于{'today':20,'tomorrow':30} 
dict.fromkeys(['today','tomorrow'],20) #相當于{'today':20,'tomorrow':20}

3.集合

和數(shù)學概念上的集合基本上是一致的鲫构。它與列表的區(qū)別:
a.在于它的元素的不重合的,而且是無序的玫坛;
b.它不支持索引结笨。
一般我們用大括號{}或者set()來創(chuàng)建集合。
s={1,2,2,3} #2會自動去重湿镀,得到{1,2,3} s=set([1,2,2,3]) #同樣會將列表轉(zhuǎn)換為集合炕吸,得到{1,2,3}
集合的運算:

a = t | s #并集
b = t & s #交集
c = t - s #差集(項在t中,但不在s中)
d = t ^ s #對稱差集(項在t或s中勉痴,但不會同時出現(xiàn)在二者中)

4.函數(shù)式編程

函數(shù)式編程主要由幾個函數(shù)構(gòu)成:lambda()赫模、map()、reduce()蒸矛、filter()

a瀑罗、lambda():主要用來定義“行內(nèi)函數(shù)”

b胸嘴、map():類似于列表解析,例如:列表解析可以這樣寫 b =[i+2 for i in a]斩祭,但是利用map函數(shù)我們可以這么寫:

a=[1,2,3] 
b =map(lambda x: x+2,a)
b=list(b) 
print(b) #結(jié)果是[3,4,5]

注:在3.x需要b = list(b)這一步劣像,在2.x就不需要。是因為在3.x中map函數(shù)進進是創(chuàng)建一個待運行的命令容器摧玫,只有其他函數(shù)調(diào)用它的時候才會返回結(jié)果耳奕。
map()也接受多參數(shù)的函數(shù),如map(lambda x,y:x*y,a,b) 表示將a诬像、b兩個列表的元素對應(yīng)相乘吮铭,把結(jié)果返回給新列表。map()命令和for循環(huán)的對比:列表解析本身還是for命令颅停,在Python中for命令的執(zhí)行效率不高谓晌,而map函數(shù)實現(xiàn)了相同的功能,而效率更高

c癞揉、reduce()函數(shù):與map函數(shù)類似纸肉,map()用于逐一遍歷,reduce()函數(shù)用于遞歸計算喊熟。例如:

reduce(lambda x,y : x*y,range(1,n+1)) #可以計算n的階乘

注:在2.x中柏肪,上述命令可以直接運行,在3.x中芥牌,reduce函數(shù)已經(jīng)被移除了全局命名空間烦味,置于fuctools庫中,可通過from fuctools import reduce引入reduce壁拉。

上述代碼也可用循環(huán)語句寫成:

s=1 
for i in range(1,n+1): 
      s=s*i

d谬俄、filter()函數(shù):它是一個過濾器,用于篩選列表中符合條件的元素弃理。例如:

b=filter(lambda x : x>5 and x<8,range(10)) 
b=list(b) 
print(b) #結(jié)果為[6, 7]

上述語句也可以用列表解析寫出:

b=[i for i in range(10) if i>5 and i<8]

我們使用map()溃论、reduce()、filter()最終的目的是兼顧簡潔和效率痘昌,因為map()钥勋、reduce()、filter()的循環(huán)速度比Python內(nèi)置的while和for循環(huán)快的多辆苔。

(4)庫的導入和添加

1.庫的導入:例如:導入math庫

import math 
math.sin(1) #計算正弦 
math.exp(1) #計算指數(shù) 
math.pi #內(nèi)置的圓周率常數(shù)

重命名庫:

import math as m 
m.sin(1)

指定導入某個函數(shù):

from math import exp as e 
e(1) help('modules') #獲得已安裝的所有模塊名

2.導入futurn特征

使用2.x的用戶可以通過引入futurn特征的方式兼容代碼算灸,如:

#將print變成函數(shù)形式,即用print(a)的方式輸出:
from __futurn__ import print_function 
#3.x的3/2=1.5,3//2=1驻啤;2.x的3/2=1 
from __futurn__ import division

3.添加第三方庫

以安裝pandas為例:

打開cmd菲驴,輸入 pip install pandas,點擊回車即可

2.3 Python數(shù)據(jù)分析工具

Python數(shù)據(jù)挖掘相關(guān)擴展庫
  • numpy:提供數(shù)組支持街佑,以及相應(yīng)的高效的處理函數(shù)

  • sicpy:提供矩陣支持谢翎,以及矩陣相關(guān)的數(shù)值計算模塊

  • matplotlib:強大的數(shù)據(jù)可視化工具、作圖庫

  • pandas:強大沐旨、靈活的數(shù)據(jù)分析和探索工具

  • statsmodels:統(tǒng)計建模和計量經(jīng)濟學森逮,包括描述統(tǒng)計、統(tǒng)計模型估計和推斷

  • scikit-learn:支持回歸磁携、分類褒侧、聚類等的強大的機器學習庫

  • keras:深度學習庫,用于建立神經(jīng)網(wǎng)絡(luò)以及深度學習模型

  • gensim:用來做文本主題模型的庫谊迄,文本挖掘可以用到

2.3.1 numpy

Python并沒有提供真正的數(shù)組功能闷供,而numpy則提供了真正的數(shù)組功能,它還是很多更高級庫的依賴庫统诺,歪脏,例如scipy、matplotlib粮呢、pandas等婿失。numpy內(nèi)置函數(shù)的處理速度是C語言級別的,因此在編寫函數(shù)的時候應(yīng)當盡量的使用它們內(nèi)置的函數(shù)啄寡,避免出現(xiàn)效率瓶頸的問題(尤其是涉及循環(huán)問題)豪硅。

安裝numpy:

pip install numpy #在Windows中可以像安裝其他第三方庫一樣用pip完成 python setup.py install #Windows還可自行下載源代碼,然后用此代碼安裝 sudo apt-get install python-numpy #在Linux的Ubuntu下安裝

numpy的基本操作:

#-*- coding :utf-8 -* 
import numpy as np #一般用np作為numpy的別名 
a = np.array([2,0,1,5]) #創(chuàng)建數(shù)組 
print(a) #打印結(jié)果 
print(a[:3]) #引用前3個數(shù)字(切片) 
print(a.min()) #輸出a的最小值 
a.sort() #將a的元素從小到大排列挺物,此操作直接修改a懒浮,print(a)為[0,1,2,5] 
print(a) 
b = np.array([[1,2,3],[4,5,6]]) #創(chuàng)建二維數(shù)組 
print(b*b) #輸出數(shù)組的平方陣[[1,4,9],[16,25,36]]

numpy官網(wǎng):http://www.numpy.org/或者http://reverland.org/python/2012/08/12/numpy/

2.3.2 SciPy

SciPy包含的功能有最優(yōu)化、線性代數(shù)识藤、幾份砚著、插值、擬合痴昧、特殊函數(shù)赖草、快速傅里葉變換、信號處理和圖像處理剪个、常微分方程求解和其他科學與工程中常用的計算坑资。SciPy依賴于numpy,因此安裝它之前需要先安裝numpy梢灭,安裝scipy和安裝numpy在Windows平臺上是一樣的悔橄,直接用pip進行安裝即可,sudo apt-get install python-scipy 在Linux的Ubuntu下安裝侵歇。

SciPy求解非線性方程組和數(shù)值積分:

#-*-coding:utf-8 -* 
#求解非線性方程組2x1-x2^2=1骂澄,x1^2-x2=2 
from scipy.optimize import fsolve #導入求解方程組的函數(shù) 
def f(x): #定義要求解的方程組 
    x1=x[0] 
     x2=x[1]
return [2*x1-x2**2-1,x1**2-x2-2] 
result = fsolve(f,[1,1]) #輸出初值[1,1]并求解 
print(result) #數(shù)值積分 

from scipy import integrate #導入積分函數(shù) 
def g(x): #定義被積函數(shù) 
    return (1-x**2)**0.5 
pi_2,err = integrate.quad(g,-1,1) #積分結(jié)果和誤差 
print(pi_2*2) #有微積分知識知道積分結(jié)果為圓周率pi的一半

2.3.3 Matplotlib

主要用于繪制二維圖,也可以進行簡單的三維繪圖惕虑。安裝方法也和上述兩個庫的安裝方法一致坟冲。

注:matplotlib對上級庫的依賴較多磨镶,手動安裝的時候需要吧這些庫也逐一安裝完成

matplotlib繪圖的基本代碼:

#-*-coding:utf-8 -* 
import numpy as np 
import matplotlib.pyplot as plt #導入matplotlib 

x = np.linspace(0,10,1000) #作圖的變量自變量 
y = np.sin(x)+1 #因變量y 
z = np.cos(x**2)+1 #因變量z
plt.figure(figsize=(8,4)) #設(shè)置圖像大小 
plt.plot(x,y,label= '$\sin x+1$',color='red',linewidth=2) #作圖,設(shè)置標簽健提,線條顏色琳猫,線條大小 
plt.plot(x,z,'b--',label='$\cos x^2+1$') #作圖,設(shè)置標簽私痹,線條類型 
plt.xlabel('Time(s)') #X軸名稱 
plt.ylabel('Volt') #Y軸名稱 
plt.title('A Simple Example') #標題 
plt.ylim(0,2.2) #顯示Y軸范圍 
plt.legend() #顯示圖例 
plt.show()

做出來的圖如下:

以上代碼做出來的圖

如果使用的是中文標簽脐嫂,會發(fā)現(xiàn)中文標簽無法正常顯示。這是由于matplotlib的默認字體是英文導致的紊遵,解決辦法是在作圖之前手動將默認字體設(shè)置為中文字體账千,如黑體(SimHei):

plt.rcParams['font.sans-serif']=['SimHei'] #這句用來正常顯示中文字體

如果保存圖像負號不顯示則可以用以下代碼解決:

plt.rcParams['axes.unicode_minus']=False #解決保存圖像是負號“-”顯示為方塊的問題

建議:有空多去matplotlib提供的“畫廊”欣賞他做出來的漂亮效果,鏈接如下:https://matplotlib.org/gallery.html

2.3.4 pandas

pandas是Python下最強大的數(shù)據(jù)分析和探索工具暗膜,pandas構(gòu)建在numpy之上匀奏,使得以numpy為中心的應(yīng)用很容易使用。pandas的功能非常強大学搜,支持類似于SQL的增刪改查攒射,并帶有豐富的數(shù)據(jù)處理函數(shù)。支持時間序列分析功能恒水;支持靈活處理缺失數(shù)據(jù)等会放。

(1)安裝

安裝方法和以上的庫均一樣,但是在使用pandas之前需要先安裝numpy才能使用钉凌。pandas本身是不支持Excel文件的讀寫的咧最,需要安裝xlrd(讀)和xlwt(寫)庫才能支持Excel的讀寫。

(2)使用

pandas基本的數(shù)據(jù)結(jié)構(gòu)是Series和DataFrame御雕,Series是序列類似一堆數(shù)組矢沿;DataFrame則是相當于一張二維的表格,類似于二維數(shù)組酸纲,它的每一列就是一個Series捣鲸。為了定位Series中的元素,pandas提供了Index對象闽坡,每個Series都會帶有一個對應(yīng)的Index栽惶,用來標記不同的元素。Index類似于SQL中的主鍵DataFrame相當于對個帶有Index的Series的組合(本質(zhì)是Series的容器)疾嗅,每一個Series都帶有唯一的表頭外厂,用來標識不同的Series。

pandas的簡單例子:
#-*-coding:utf-8 -* 
import pandas as pd #通常用pd作為pandas的別名 

s = pd.Series([1,2,3],index = ['a','b','c']) #創(chuàng)建一個序列s 
d = pd.DataFrame([[1,2,3],[4,5,6]],columns=['a','b','c']) #創(chuàng)建一個表 
d2 = pd.DataFrame(s) # 也可以用已有的序列來創(chuàng)建表格 
print(d.head()) #預(yù)覽前5行數(shù)據(jù),3.x版本需要加上print 
print(d.describe()) #數(shù)據(jù)的基本統(tǒng)計量,3.x版本需要加上print 

#讀取文件代承,注意文件的路徑不能有中文汁蝶,否則讀取可能出錯 
pd.read_excel('data.xls') #讀取Excel文件,創(chuàng)建DataFrame 
pd.read_csv('data.csv',encoding='utf-8') #讀取文本格式的數(shù)據(jù)论悴,一般用encoding指定編碼

2.3.5 StatsModels

相比于pandas而言掖棉,StatsModels更加注重數(shù)據(jù)的統(tǒng)計建模分析墓律,使得Python有了一絲R語言的味道。StatsModels支持與pandas進行數(shù)據(jù)交互幔亥,與pandas進行組合耻讽,成為了Python下強大的數(shù)據(jù)挖掘組合。StatsModels依賴于pandas紫谷,也依賴于pandas所依賴的齐饮,同時還依賴于pasty(一個描述統(tǒng)計的庫)捐寥。

使用StatsModels來進行ADF平穩(wěn)性檢驗的例子:

#-*-coding:utf-8 -* 
from statsmodels.tsa.stattools import adfuller as ADF #導入ADF檢驗 
import numpy as np 
print(ADF(np.random.rand(100))) #返回的結(jié)果是ADF值笤昨、p值等

2.3.6 Scikit-Learn

Scikit-Learn是Python下的一個強大的機器學習包,提供了完善的機器學習工具箱握恳,包括數(shù)據(jù)預(yù)處理瞒窒、分類、回歸乡洼、聚類崇裁、預(yù)測、和模型分析等束昵。Scikit-Learn依賴于numpy拔稳、SciPy、matplotlib锹雏,因此只要提前安裝好這幾個庫然后按照Scikit-Learn基本上沒有什么問題巴比,安裝方法和之前一樣。

使用Scikit-Learn創(chuàng)建一個機器學習的模型:

#-*-coding:utf-8 -* 
from sklearn.linear_model import LinearRegression #導入線性回歸模型 
model=LinearRegression() #建立線性回歸模型 
print(model)

(1)所有模型提供的接口有:

  • model.fit():訓練模型礁遵,對于監(jiān)督模型來說是fit(X,y)轻绞,對于非監(jiān)督模型是fit(X)。

(2)監(jiān)督模型提供的接口有:

  • model.predict(X_new):預(yù)測新樣本
  • model.predict_proda(X_new):預(yù)測概率佣耐,僅對某些模型有用(比如LR)
  • model.score():得分越高政勃,fit越好

(3)非監(jiān)督模型提供的接口有:

  • model.transfrom():從數(shù)據(jù)中學習新的“基空間”
  • model.fit_transfrom():從數(shù)據(jù)中學習到新的基并將這個數(shù)據(jù)按照這組“基”進行轉(zhuǎn)換。

Scikit-Learn本身提供了一些實例數(shù)據(jù)兼砖,比如常見的有安德森鳶尾花卉數(shù)據(jù)集奸远、手寫圖像數(shù)據(jù)集等。

#-*-coding:utf-8 -* 
from sklearn import datasets #導入數(shù)據(jù)集 
iris=datasets.load_iris() #加載數(shù)據(jù)集 
print(iris.data.shape) #查看數(shù)據(jù)集大小 
from sklearn import svm #導入SVM模型 
clf = svm.LinearSVC() #建立線性SVM分類器 
clf.fit(iris.data,iris.target) #用數(shù)據(jù)訓練模型 
clf.predict([[5.0,3.6,1.3,0.25]]) #訓練好模型后讽挟,輸入新的數(shù)據(jù)進行預(yù)測 
print(clf.coef_) #查看訓練好的模型的參數(shù)

2.3.7 Keras

本書用Keras來搭建神經(jīng)網(wǎng)絡(luò)然走,但是Keras并不只是神經(jīng)網(wǎng)絡(luò)庫,而是一個基于Theano的強大的深度學習庫戏挡,還可以利用它搭建自編碼器芍瑞、循環(huán)神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)褐墅、卷積神經(jīng)網(wǎng)絡(luò)等拆檬,由于基于Theano洪己,因此速度也很快。Keras大大的簡化了搭建神經(jīng)網(wǎng)絡(luò)的難度竟贯,允許普通用戶輕松地搭建并求解具有幾百個輸入節(jié)點的深層神經(jīng)網(wǎng)絡(luò)答捕,而且定制的自由度非常大。

(1)安裝

安裝Keras之前需要安裝numpy屑那、SciPy和Theano拱镐,安裝Theano需要先準備一個C++編譯器,這在Linux下是自帶的持际,所以在Linux上安裝是相對簡單一些的沃琅,而在Windows上則需要先安裝MinGW(Windows下的GCC和C++),然后再安裝Theano蜘欲,最后安裝Keras益眉。如果需要實現(xiàn)GPU加速則需要安裝和配置CUDA。值得一提的是在windows下Keras會大打折扣姥份,因此想要在神經(jīng)網(wǎng)絡(luò)和深度學習方面進行深入研究郭脂,請在Linux下搭建相應(yīng)的環(huán)境。

(2)使用

簡單搭建一個MLP(多層感知器)澈歉,如下:

#-*-coding:utf-8 -* 
from keras.models import Sequential 
from keras.layers.core import Dense,Dropout,Activation 
from keras.optimizers import SGD 

model = Sequential() #模型初始化 
model.add(Dense(20,64)) #添加輸入層20個節(jié)點展鸡,第一隱藏層64個節(jié)點的連接 
model.add(Activation('tanh')) #第一隱藏層用tanh作為激活函數(shù) 
model.add(Dropout(0.5)) #使用Dropout防止過擬合 
model.add(Dense(64,64)) #添加第一隱藏層64節(jié)點,第二隱藏層64節(jié)點連接 
model.add(Activation('tanh')) #第二隱藏層用tanh作為激活工具 
model.add(Dropout(0.5)) #使用Dropout防止過擬合 
model.add(Dense(64,1)) #添加第二隱藏層64節(jié)點埃难,輸出層1節(jié)點連接 
model.add(Activation('sigmoid')) #輸出層用sigmoid作為激活函數(shù) 

sgd = SGD(lr=0.1,decay=le-6,momentum=0.9,nesterov=True) #定義求解算法 
model.compile(loss='mean_squared_error',optimizer=sgd) #編譯生成模型莹弊,損失函數(shù)為平均誤差平方和 
model.fit(x_train,x_train,nb_epoch=20,batch_size=16) #訓練模型 
score = model.evaluate(x_test,y_test,batch_size=16) #測試模型

注:Keras的預(yù)測函數(shù)和Scikit-Learn有所差別,Keras用model.predict()方法給出概率凯砍,model.predict_classes()方法給出分類結(jié)果箱硕。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市悟衩,隨后出現(xiàn)的幾起案子剧罩,更是在濱河造成了極大的恐慌,老刑警劉巖座泳,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惠昔,死亡現(xiàn)場離奇詭異,居然都是意外死亡挑势,警方通過查閱死者的電腦和手機镇防,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來潮饱,“玉大人来氧,你說我怎么就攤上這事。” “怎么了啦扬?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵中狂,是天一觀的道長。 經(jīng)常有香客問我扑毡,道長胃榕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任瞄摊,我火速辦了婚禮勋又,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘换帜。我一直安慰自己楔壤,他們只是感情好,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布膜赃。 她就那樣靜靜地躺著挺邀,像睡著了一般揉忘。 火紅的嫁衣襯著肌膚如雪跳座。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天泣矛,我揣著相機與錄音疲眷,去河邊找鬼。 笑死您朽,一個胖子當著我的面吹牛狂丝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播哗总,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼几颜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了讯屈?” 一聲冷哼從身側(cè)響起蛋哭,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎涮母,沒想到半個月后谆趾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡叛本,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年沪蓬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片来候。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡跷叉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情云挟,我是刑警寧澤峡眶,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站植锉,受9級特大地震影響辫樱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜俊庇,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一狮暑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辉饱,春花似錦搬男、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至姓惑,卻和暖如春褐奴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背于毙。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工敦冬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人唯沮。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓脖旱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親介蛉。 傳聞我的和親對象是個殘疾皇子萌庆,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容