01-IPython&Numpy

一.Anaconda

1.1 安裝Anaconda
#Ubuntu 安裝 Anaconda3 詳細步驟
參考:https://blog.csdn.net/u012318074/article/details/77074665
1.2 修改下載源鏡像
#添加“清華鏡像”渠道
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/  
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/  
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/  
conda config --set show_channel_urls yes 

二.為什么使用python進行數(shù)據(jù)分析

1.python大量的庫為數(shù)據(jù)分析和處理提供了完整的工具集
2.比起R和Matlab等其他主要用于數(shù)據(jù)分析的編程語言榜贴,Python更全能

Python不僅提供數(shù)據(jù)處理平臺绳军,而且還有其他語言和專業(yè)應用所沒有的應用争舞。
可以用作腳本
可以操作數(shù)據(jù)庫
可以開發(fā)web應用

3.Python庫一直在增加县恕,算法的實現(xiàn)采用更具創(chuàng)新性的方法
4.Python能和很多語言對接讶坯,例如高效的C語言

三.什么是Ipython

ipython是一個性能強大的python終端

1.ipython shell:功能強大的交互式shell
$ ipython
2.ipython notebook:集文本、代碼、圖像、公式的展現(xiàn)于一體的超級python web界面

從ipython4.0開始改名成Jupyter notebook

四.什么是Jupyter

Jupyter notebook:集文本、代碼锹漱、圖像箭养、公式的展現(xiàn)于一體的超級python web界面

五.Ipython

5.1 啟動:
ipython notebook/jupyter notebook
5.2 Ipython幫助文檔
1.Help(參數(shù))方法:help(len)
2.
?
??可以顯示源碼
例如:
        chr?
        /////////////////////////////////////////////////////////////
        L=[1,2,3]
        L?
        /////////////////////////////////////////////////////////////
        def myFunc(i):
            """
            help test
            """
            return i
        myFunc(10)
        myFun??
3.tab自動補全
5.3 Ipython魔法指令
1.運行外部Python文件:%run a.py(當前路徑)
    運行其他路徑:%run /home/nanfengpo/Desktop/bb.py
    尤其要注意的是,當我們使用魔法命令執(zhí)行了一個外部文件時
    該文件的函數(shù)就能在當前會話中使用
2.運行計時
    用下面命令計算statement的運行時間:
    %time statement
    用下面命令計算statement的平均運行時間:
    %timeit statement
    可以使用兩個百分號來測試多行代碼的平均運行時間:
    %%timeit
    statement1
    statement2
    statement3

    %time一般用于耗時長的代碼段
    %timeit一般用于耗時短的代碼段
3.查看當前會話中的所有變量與函數(shù)
    快速查看當前會話的所有變量與函數(shù)名稱:
    %who
    查看當前會話的所有變量與函數(shù)名稱的詳細信息:
    %whos
    返回一個字符串列表哥牍,里面元素是當前會話的所有變量與函數(shù)名稱:
    %who_ls
4.執(zhí)行Linux指令使用毕泌!
    在Linux指令之前加上感嘆號,即可在ipython當中執(zhí)行Linux指令嗅辣。
    注意會將標準輸出以字符串形式返回
5.4 Jupyter notebook快捷鍵
? Enter : 轉(zhuǎn)入編輯模式 
? Shift-Enter : 運行本單元撼泛,選中下個單元
? Y : 單元轉(zhuǎn)入代碼狀態(tài)
? M :單元轉(zhuǎn)入markdown狀態(tài)
? A : 在上方插入新單元
? B : 在下方插入新單元
? Double-D:刪除一行
? Ctrl-A : 全選
? Ctrl-Z : 復原
? Shift-Enter : 運行本單元,選中下一單元
? Ctrl-Enter : 運行本單元
? Alt-Enter : 運行本單元澡谭,在下面插入一單元

六.Numpy

6.1 什么是Numpy:Numeric Python

NumPy系統(tǒng)是Python的一種開源的數(shù)值計算擴展

一個強大的N維數(shù)組對象Array
比較成熟的(廣播)函數(shù)庫
用于整合C/C++和Fortran代碼的工具包
實用的線性代數(shù)愿题、傅里葉變換和隨機數(shù)生成函數(shù)
numpy和稀疏矩陣運算包scipy配合使用更加強大

6.2 導入
import numpy as np

查看版本
np.__version__
6.3 創(chuàng)建ndarray
6.3.1 使用np.array()
#一維
import numpy as np
test = np.array([1,2,3,4,5])
test
////////////////////////////////
#多維
test = np.array([[1,2,3],[4,5,6]])
test
6.3.2 使用np的routines函數(shù)創(chuàng)建
1) np.ones(shape, dtype=None, order='C')
np.ones([3,3])
輸出結(jié)果:
array([[ 1.,  1.,  1.],
       [ 1.,  1.,  1.],
       [ 1.,  1.,  1.]])

np.ones([3,3],dtype=int)
輸出結(jié)果:
array([[1, 1, 1],
       [1, 1, 1],
       [1, 1, 1]])
2) np.zeros(shape, dtype=float, order='C')
n3 = np.zeros((4,5))
n3
輸出結(jié)果:
array([[0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.]])
3) np.full(shape, fill_value, dtype=None, order='C')
np.full([3,3],3.14)
輸出結(jié)果:
array([[ 3.14,  3.14,  3.14],
       [ 3.14,  3.14,  3.14],
       [ 3.14,  3.14,  3.14]])
4) np.eye(N, M=None, k=0, dtype=float)
np.eye(4)
輸出結(jié)果:
array([[ 1.,  0.,  0.,  0.],
       [ 0.,  1.,  0.,  0.],
       [ 0.,  0.,  1.,  0.],
       [ 0.,  0.,  0.,  1.]])


np.eye(4,4蛙奖,1)
輸出結(jié)果:
array([[ 0.,  1.,  0.,  0.],
       [ 0.,  0.,  1.,  0.],
       [ 0.,  0.,  0.,  1.],
       [ 0.,  0.,  0.,  0.]])


np.eye(4潘酗,4,-1)
輸出結(jié)果:
array([[ 0.,  0.,  0.,  0.],
       [ 1.,  0.,  0.,  0.],
       [ 0.,  1.,  0.,  0.],
       [ 0.,  0.,  1.,  0.]])
5) np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
等差數(shù)列
np.linspace(0,10,5)
輸出結(jié)果:
array([  0. ,   2.5,   5. ,   7.5,  10. ])
6) np.arange([start, ]stop, [step, ]dtype=None)
等差數(shù)列
np.arange(0,10,2)
輸出結(jié)果:
array([0, 2, 4, 6, 8])
7) np.random.randint(low, high=None, size=None, dtype='l')
np.random.randint(0,10,5)
輸出結(jié)果:
array([0, 7, 2, 3, 7])
8) np.random.randn(d0, d1, ..., dn)
np.random.randn(10)
# 每次都不一樣
輸出結(jié)果:
array([-1.74976547,  0.3426804 ,  1.1530358 , -0.25243604,  0.98132079,
        0.51421884,  0.22117967, -1.07004333, -0.18949583,  0.25500144])


//////////////////////////////////////////////////
np.random.seed(100)#隨機的種子雁仲,有了種子仔夺,每次都一樣
np.random.randn(10)

輸出結(jié)果:
array([ 0.37332715, -0.2887605 ,  0.04985088, -0.93815832, -0.4087037 ,
        1.13352254,  0.52713526, -0.76014192, -0.97292788,  0.16290446])
9) np.random.random(size=None)
np.random.random(100)
# 每次每次都不一樣
輸出結(jié)果:
array([ 0.01150584,  0.52951883,  0.07689008,  0.72856545,  0.26700953,
        0.38506149,  0.56252666,  0.59974406,  0.38050248,  0.14719008,
        0.6360734 ,  0.27812695,  0.73241298,  0.10904588,  0.57071762,
        0.56808218,  0.33192772,  0.61444518,  0.07289501,  0.86464595,
        0.71140253,  0.3221285 ,  0.92556313,  0.26511829,  0.8487166 ,
        0.38634413,  0.32169243,  0.80473196,  0.92050868,  0.17325157,
        0.63503329,  0.89463233,  0.02796505,  0.04396453,  0.20603116,
        0.77663591,  0.96595455,  0.77823865,  0.90867045,  0.39274922,
        0.89526325,  0.26002297,  0.38606984,  0.69176715,  0.3170825 ,
        0.86994578,  0.35648567,  0.19945661,  0.16109699,  0.58245076,
        0.20239367,  0.7099113 ,  0.41444565,  0.16725785,  0.01170234,
        0.79989105,  0.76490449,  0.25418521,  0.55082581,  0.29550998,
        0.02919009,  0.32737646,  0.29171893,  0.67664205,  0.24447834,
        0.49631976,  0.41136961,  0.82478264,  0.76439988,  0.78829201,
        0.24360075,  0.26151563,  0.51388418,  0.19823452,  0.44097815,
        0.53198973,  0.50187154,  0.72374522,  0.11090765,  0.63469357,
        0.69199977,  0.97093079,  0.35920669,  0.86493051,  0.01984456,
        0.32219702,  0.58608421,  0.26591245,  0.51851213,  0.7896492 ,
        0.04914308,  0.28711285,  0.36225247,  0.21299697,  0.99046025,
        0.11375325,  0.70964612,  0.06599185,  0.47323442,  0.62003386])

//////////////////////////////////////////////////////////////////////////////////////////////////
np.random.random([3,3])
輸出結(jié)果:
array([[ 0.37590691,  0.15563239,  0.7754904 ],
       [ 0.40353019,  0.59708594,  0.57000741],
       [ 0.33286511,  0.15678606,  0.58814922]])
10) np.random.normal(loc=0.0, scale=1.0, size=None)
n = np.random.normal(175, scale=5.0, size=50)
n 
輸出結(jié)果:
array([177.62703208, 176.50746247, 173.26956915, 162.29355083,
       172.05271936, 177.61948035, 172.52243162, 175.43294252,
       181.14225673, 175.21450574, 179.56055092, 170.883815  ,
       170.91435313, 176.25008762, 176.3347509 , 183.90347049,
       178.91856559, 168.84725605, 176.32881783, 172.77973728,
       173.12257339, 174.75054378, 166.60349541, 171.68263799,
       168.83419713, 174.25085091, 175.66113435, 174.12039025,
       177.22772738, 169.01523024, 175.57587527, 172.89083838,
       179.52153939, 173.70318334, 179.06473552, 176.50099117,
       175.83008746, 174.78059027, 175.58909128, 178.11274357,
       183.45771692, 172.43399789, 179.56800892, 182.14239994,
       176.43701867, 177.37866513, 179.55215095, 174.5389049 ,
       175.48698667, 168.73145269])
6.3.3 ndarray的屬性
ndim:維度 
shape:形狀(各維度的長度) 
size:總長度
dtype:元素類型
6.3.4 ndarray的基本操作
1) 索引
一維與列表完全一致 多維時同理
np.random.seed(1)
x = np.random.randint(10,size=[3,4,5])
print(x[2,0,0])
print(x)

5
[[[5 8 9 5 0]
  [0 1 7 6 9]
  [2 4 5 2 4]
  [2 4 7 7 9]]

 [[1 7 0 6 9]
  [9 7 6 9 1]
  [0 1 8 8 3]
  [9 8 7 3 6]]

 [[5 1 9 3 4]
  [8 1 4 0 3]
  [9 2 0 4 9]
  [2 7 7 9 8]]]
2) 切片
一維與列表完全一致 多維時同理
np.random.seed(0)
x = np.random.randint(100,size = (10,4))
x

輸出結(jié)果:
array([[44, 47, 64, 67],
       [67,  9, 83, 21],
       [36, 87, 70, 88],
       [88, 12, 58, 65],
       [39, 87, 46, 88],
       [81, 37, 25, 77],
       [72,  9, 20, 80],
       [69, 79, 47, 64],
       [82, 99, 88, 49],
       [29, 19, 19, 14]])

切片:

x[7:10]
切片結(jié)果:
array([[69, 79, 47, 64],
       [82, 99, 88, 49],
       [29, 19, 19, 14]])
3) 變形
使用reshape函數(shù),注意參數(shù)是一個tuple攒砖!
x = np.arange(0,16).reshape(4,4)
x

執(zhí)行結(jié)果:


array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])

類型是:
type(x.shape)

tuple
4) 級聯(lián)

1.np.concatenate() 級聯(lián)需要注意的點:
級聯(lián)的參數(shù)是列表:一定要加中括號
維度必須相同
形狀相符
【重點】級聯(lián)的方向默認是shape這個tuple的第一個值所代表的維度方向
可通過axis參數(shù)改變級聯(lián)的方向

x = np.array([1,2,3])
y = np.array([1,5,6,7,3,20])
x
輸出 array([1, 2, 3])
輸出 array([ 1,  5,  6,  7,  3, 20])

z = np.concatenate([x,y])
z
輸出 array([ 1,  2,  3,  1,  5,  6,  7,  3, 20])
z.shape
輸出 (9,)


/////////////////////////////////////////////////////
#二維
x = np.array([[1,2,3],[4,5,6]])
x

array([[1, 2, 3],
       [4, 5, 6]])

x.shape
(2,3)

p = np.concatenate([x,x]).shape
p
(4, 3)

2.axis

import numpy as np
x = np.array([[[1,2,3],[2,2,3],[3,3,3]],[[4,4,4],[5,5,5],[6,6,6]]])
print(x)
print(x.shape)

輸出:
[[[1 2 3]
  [2 2 3]
  [3 3 3]]

 [[4 4 4]
  [5 5 5]
  [6 6 6]]]
(2, 3, 3)

////////////////////////////////
w = np.concatenate([x,x],axis = 0)
print(w.shape)
print(w)
輸出:
(4, 3, 3)
[[[1 2 3]
  [2 2 3]
  [3 3 3]]

 [[4 4 4]
  [5 5 5]
  [6 6 6]]

 [[1 2 3]
  [2 2 3]
  [3 3 3]]

 [[4 4 4]
  [5 5 5]
  [6 6 6]]]
////////////////////////////////////
w = np.concatenate([x,x],axis = 1)
print(w.shape)
print(w)
輸出:
(2, 6, 3)
[[[1 2 3]
  [2 2 3]
  [3 3 3]
  [1 2 3]
  [2 2 3]
  [3 3 3]]

 [[4 4 4]
  [5 5 5]
  [6 6 6]
  [4 4 4]
  [5 5 5]
  [6 6 6]]]
/////////////////////////////////////
w = np.concatenate([x,x],axis = 2)
print(w.shape)
print(w)

輸出:
(2, 3, 6)
[[[1 2 3 1 2 3]
  [2 2 3 2 2 3]
  [3 3 3 3 3 3]]

 [[4 4 4 4 4 4]
  [5 5 5 5 5 5]
  [6 6 6 6 6 6]]]

3.np.hstack與np.vstack 水平級聯(lián)與垂直級聯(lián)

x = np.array([[1,1],[2,2],[3,3]])
y = np.array([1,2,3])
print(np.hstack(x))
print(np.vstack(y))

輸出:
[1 1 2 2 3 3]
[[1]
 [2]
 [3]]
5) 切分

1.np.split()

x = np.arange(1,10)
x

輸出:
array([1, 2, 3, 4, 5, 6, 7, 8, 9])

x1,x2,x3 = np.split(x,[3,5])
print(x1,x2,x3)
輸出:
[1 2 3] [4 5] [6 7 8 9]

2.np.hsplit()

x = np.arange(16).reshape(4,4)
x
輸出:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])

print(np.hsplit(x,[2,3]))
輸出:
[array([[ 0,  1],[ 4,  5], [ 8,  9], [12, 13]]),
         array([[ 2],  [ 6],  [10], [14]]), 
         array([[ 3],  [ 7],  [11],  [15]])]

3.np.vsplit()

x = np.arange(16).reshape(4,4)
x
輸出:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])

print(np.vsplit(x,[2,3]))
輸出:
[array([[0, 1, 2, 3],
        [4, 5, 6, 7]]), array([[ 8,  9, 10, 11]]), array([[12, 13, 14, 15]])]
6) 副本

1.所有賦值運算不會為ndarray的任何元素創(chuàng)建副本缸兔。
對賦值后的對象的操作也對原來的對象生效

a = np.array([1,2,3])
b=a
print(a,b)

輸出:
[1 2 3] [1 2 3]


b[0]=2
a
輸出:
array([2, 2, 3])

2.可使用copy()函數(shù)創(chuàng)建副本

a = np.array([1,2,3])
b = a.copy()
b
輸出:
[1,2,3]

b[0]=3
print(a,b)
輸出:
[1 2 3] [3 2 3]
6)ndarray的聚合操作

1.求和np.sum

import numpy as np
np.random.seed(0)
a = np.random.randint(1000,size = 100)
print(np.sum(a))

b = np.random.randint(1000,size = (3,4,5))
print(np.sum(b))

輸出:
52397
32865

計算求和時間
%timeit np.sum(a)

輸出:
2.63 μs ± 34.8 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

l = [1,2,3]
np.sum(l)
輸出:

2.最大最小值:np.max/ np.min

%time max(a)
%time np.max(a)
print(max(a))
print(np.max(a))
print(min(a))
print(np.min(a))

輸出:
CPU times: user 0 ns, sys: 0 ns, total: 0 ns
Wall time: 22.4 μs
CPU times: user 0 ns, sys: 0 ns, total: 0 ns
Wall time: 61.3 μs
999
999
9
9

3.其他聚合操作

Function Name    NaN-safe Version    Description
np.sum    np.nansum    Compute sum of elements
np.prod    np.nanprod    Compute product of elements
np.mean    np.nanmean    Compute mean of elements
np.std    np.nanstd    Compute standard deviation
np.var    np.nanvar    Compute variance
np.min    np.nanmin    Find minimum value
np.max    np.nanmax    Find maximum value
np.argmin    np.nanargmin    Find index of minimum value
np.argmax    np.nanargmax    Find index of maximum value
np.median    np.nanmedian    Compute median of elements
np.percentile    np.nanpercentile    Compute rank-based statistics of elements
np.any    N/A    Evaluate whether any elements are true
np.all    N/A    Evaluate whether all elements are true

////////////////////////////////////////////////////
a = np.array([1,2,3,4,np.nan])
print(np.sum(a))
print(np.nansum(a))

輸出:
nan
10.0

4.操作文件

import pandas as pd
data = pd.read_csv('../../data/president_heights.csv')
heights = np.array(data['height(cm)'])
heights

輸出:
array([189, 170, 189, 163, 183, 171, 185, 168, 173, 183, 173, 173, 175,
       178, 183, 193, 178, 173, 174, 183, 183, 168, 170, 178, 182, 180,
       183, 178, 182, 188, 175, 179, 183, 193, 182, 183, 177, 185, 188,
       188, 182, 185])

1.求平均值
    np.mean(heights)
2.求最大值
    np.max(heights)
3.求最小值
    np.min(heights)
4.計算標準差
    heights.std()
7)ndarray的矩陣操作

1.基本矩陣操作
算術運算符:
加減乘除

a = np.array([[1,2,3],
[4,5,6]])
a
輸出:
array([[1, 2, 3],
       [4, 5, 6]])
a+1
輸出:
array([[2, 3, 4],
       [5, 6, 7]])
a*2
輸出:
array([[ 2,  4,  6],
       [ 8, 10, 12]])


a+[[1,4,9],[3,3,3]]
輸出:
array([[ 2,  6, 12],
       [ 7,  8,  9]])


a*2-2
輸出:
array([[ 0,  2,  4],
       [ 6,  8, 10]])

矩陣積

a = np.array([[1,2,3],
[4,5,6]])
a
輸出:
array([[1, 2, 3],
       [4, 5, 6]])

b = np.array([[1,1],
[1,1],
[1,1]])
b

輸出:
array([[1, 1],
       [1, 1],
       [1, 1]])

np.dot(a,b)
輸出:
array([[ 6,  6],
       [15, 15]])

2.廣播機制
【重要】ndarray廣播機制的兩條規(guī)則
規(guī)則一:為缺失的維度補1
規(guī)則二:假定缺失元素用已有值填充

例1: m = np.ones((2, 3)) a = np.arange(3) 求m+a

m = np.ones((2,3))
m
輸出:
array([[ 1.,  1.,  1.],
       [ 1.,  1.,  1.]])

a = np.arange(3)
a
輸出:
array([0, 1, 2])

m+a
輸出:
array([[ 1.,  2.,  3.],
       [ 1.,  2.,  3.]])
例2: a = np.arange(3).reshape((3, 1)) b = np.arange(3) 求a+b

a = np.arange(3).reshape((3,1))
a
輸出:
array([[0],
       [1],
       [2]])

b = np.arange(3)
b
輸出:
array([0, 1, 2])

a+b
輸出:
array([[0, 1, 2],
       [1, 2, 3],
       [2, 3, 4]])
8)ndarray的排序

1.冒泡排序

a = [3,1,5,2,4]
for i in range(len(a)-1):
    for j in range(i, len(a)):
        if a[i]>a[j]:
            a[i],a[j]=a[j],a[i]
a

輸出:
[1, 2, 3, 5, 4]

使用以上所學numpy的知識,對一個ndarray對象進行選擇排序

import numpy as np
a = np.array([33,2,67,9,88,22,34])
def selectSort(x):
    for i in range(len(x)):
        swap = np.argmin(x[i:])+i
        [x[i],x[swap]] = [x[swap],x[i]]
selectSort(a)
a

輸出:
array([ 2,  9, 22, 33, 34, 67, 88])

2.快速排序

np.sort()與ndarray.sort()都可以吹艇,但有區(qū)別:
np.sort()不改變輸入
ndarray.sort()本地處理惰蜜,不占用空間,但改變輸入

np.sort()不改變輸入
    np.random.seed(10)
    a = np.random.randint(0,100,10)
    b = np.random.randint(0,100,10)
    print(a,b)
    print(np.sort(a),a)

    輸入:
    [ 9 15 64 28 89 93 29  8 73  0] [40 36 16 11 54 88 62 33 72 78]
    [ 0  8  9 15 28 29 64 73 89 93] [ 9 15 64 28 89 93 29  8 73  0]

ndarray.sort()本地處理受神,不占用空間蝎抽,但改變輸入
    np.random.seed(20)
    a = np.random.randint(0,100,10)
    b = np.random.randint(0,100,10)
    print(a,b)
    print(a.sort(),a)

    輸出:
    [99 90 15 95 28 90  9 20 75 22] [71 34 96 40 85 90 26 83 16 62]
    None [ 9 15 20 22 28 75 90 90 95 99]

3.部分排序

np.partition(a,k)
有的時候我們不是對全部數(shù)據(jù)感興趣,我們可能只對最小或最大的一部分感興趣。
當k為正時樟结,我們想要得到最小的k個數(shù)
當k為負時养交,我們想要得到最大的k個數(shù)

k為正
    import numpy as np
    a = np.random.randint(0,100,10)
    print(a)
    print(np.partition(a,3))

    輸出:
    [67  0 63 42 30 82 28 63 95 13]
    [ 0 13 28 30 42 82 63 63 95 67]

k為負
    b = np.random.randint(0,100,10)
    print(b)
    print(np.partition(b,-3))

    輸出:
    [89 66 11 58 97  7 50 13 87 77]
    [ 7 13 11 50 58 66 77 87 89 97]

4.排序算法匯總

https://www.cnblogs.com/onepixel/articles/7674659.html
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市瓢宦,隨后出現(xiàn)的幾起案子碎连,更是在濱河造成了極大的恐慌,老刑警劉巖驮履,帶你破解...
    沈念sama閱讀 212,222評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鱼辙,死亡現(xiàn)場離奇詭異,居然都是意外死亡玫镐,警方通過查閱死者的電腦和手機倒戏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恐似,“玉大人杜跷,你說我怎么就攤上這事〗靡模” “怎么了葛闷?”我有些...
    開封第一講書人閱讀 157,720評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長双藕。 經(jīng)常有香客問我淑趾,道長,這世上最難降的妖魔是什么忧陪? 我笑而不...
    開封第一講書人閱讀 56,568評論 1 284
  • 正文 為了忘掉前任扣泊,我火速辦了婚禮,結(jié)果婚禮上嘶摊,老公的妹妹穿的比我還像新娘旷赖。我一直安慰自己,他們只是感情好更卒,可當我...
    茶點故事閱讀 65,696評論 6 386
  • 文/花漫 我一把揭開白布等孵。 她就那樣靜靜地躺著,像睡著了一般蹂空。 火紅的嫁衣襯著肌膚如雪俯萌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,879評論 1 290
  • 那天上枕,我揣著相機與錄音咐熙,去河邊找鬼。 笑死辨萍,一個胖子當著我的面吹牛棋恼,可吹牛的內(nèi)容都是我干的返弹。 我是一名探鬼主播,決...
    沈念sama閱讀 39,028評論 3 409
  • 文/蒼蘭香墨 我猛地睜開眼爪飘,長吁一口氣:“原來是場噩夢啊……” “哼义起!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起师崎,我...
    開封第一講書人閱讀 37,773評論 0 268
  • 序言:老撾萬榮一對情侶失蹤默终,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后犁罩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體齐蔽,經(jīng)...
    沈念sama閱讀 44,220評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,550評論 2 327
  • 正文 我和宋清朗相戀三年床估,在試婚紗的時候發(fā)現(xiàn)自己被綠了含滴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,697評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡丐巫,死狀恐怖谈况,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鞋吉,我是刑警寧澤鸦做,帶...
    沈念sama閱讀 34,360評論 4 332
  • 正文 年R本政府宣布励烦,位于F島的核電站谓着,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏坛掠。R本人自食惡果不足惜赊锚,卻給世界環(huán)境...
    茶點故事閱讀 40,002評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屉栓。 院中可真熱鬧舷蒲,春花似錦、人聲如沸友多。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,782評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽域滥。三九已至纵柿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間启绰,已是汗流浹背昂儒。 一陣腳步聲響...
    開封第一講書人閱讀 32,010評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留委可,地道東北人渊跋。 一個月前我還...
    沈念sama閱讀 46,433評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拾酝。 傳聞我的和親對象是個殘疾皇子燕少,可洞房花燭夜當晚...
    茶點故事閱讀 43,587評論 2 350

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