python數(shù)據(jù)分析(六)

# -*- coding: utf-8 -*-

#向量相加-Python

def pythonsum(n):

a = range(n)

b = range(n)

c = []

for i in range(len(a)):

a[i] = i ** 2

b[i] = i ** 3

c.append(a[i] + b[i])

return c

#向量相加-NumPy

import numpy as np

def numpysum(n):

a = numpy.arange(n) ** 2

b = numpy.arange(n) ** 3

c = a + b

return c

#效率比較

import sys

from datetime import datetime

import numpy as np

size = 1000

start = datetime.now()

c = pythonsum(size)

delta = datetime.now() - start

print "The last 2 elements of the sum", c[-2:]

print "PythonSum elapsed time in microseconds", delta.microseconds

start = datetime.now()

c = numpysum(size)

delta = datetime.now() - start

print "The last 2 elements of the sum", c[-2:]

print "NumPySum elapsed time in microseconds", delta.microseconds

#numpy數(shù)組

a = arange(5)

a.dtype

a

a.shape

#創(chuàng)建多維數(shù)組

m = np.array([np.arange(2), np.arange(2)])

print m

print m.shape

print m.dtype

np.zeros(10)

np.zeros((3, 6))

np.empty((2, 3, 2))

np.arange(15)

#選取數(shù)組元素

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

print "In: a"

print a

print "In: a[0,0]"

print a[0,0]

print "In: a[0,1]"

print a[0,1]

print "In: a[1,0]"

print a[1,0]

print "In: a[1,1]"

print a[1,1]

#numpy數(shù)據(jù)類型

print "In: float64(42)"

print np.float64(42)

print "In: int8(42.0)"

print np.int8(42.0)

print "In: bool(42)"

print np.bool(42)

print np.bool(0)

print "In: bool(42.0)"

print np.bool(42.0)

print "In: float(True)"

print np.float(True)

print np.float(False)

print "In: arange(7, dtype=uint16)"

print np.arange(7, dtype=np.uint16)

print "In: int(42.0 + 1.j)"

try:

print np.int(42.0 + 1.j)

except TypeError:

print "TypeError"

#Type error

print "In: float(42.0 + 1.j)"

print float(42.0 + 1.j)

#Type error

# 數(shù)據(jù)類型轉(zhuǎn)換

arr = np.array([1, 2, 3, 4, 5])

arr.dtype

float_arr = arr.astype(np.float64)

float_arr.dtype

arr = np.array([3.7, -1.2, -2.6, 0.5, 12.9, 10.1])

arr

arr.astype(np.int32)

numeric_strings = np.array(['1.25', '-9.6', '42'], dtype=np.string_)

numeric_strings.astype(float)

#數(shù)據(jù)類型對象

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

print a.dtype.byteorder

print a.dtype.itemsize

#字符編碼

print np.arange(7, dtype='f')

print np.arange(7, dtype='D')

print np.dtype(float)

print np.dtype('f')

print np.dtype('d')

print np.dtype('f8')

print np.dtype('Float64')

#dtype類的屬性

t = np.dtype('Float64')

print t.char

print t.type

print t.str

#創(chuàng)建自定義數(shù)據(jù)類型

t = np.dtype([('name', np.str_, 40), ('numitems', np.int32), ('price', np.float32)])

print t

print t['name']

itemz = np.array([('Meaning of life DVD', 42, 3.14), ('Butter', 13, 2.72)], dtype=t)

print itemz[1]

#數(shù)組與標量的運算

arr = np.array([[1., 2., 3.], [4., 5., 6.]])

arr

arr * arr

arr - arr

1 / arr

arr ** 0.5

#一維數(shù)組的索引與切片

a = np.arange(9)

print a[3:7]

print a[:7:2]

print a[::-1]

s = slice(3,7,2)

print a[s]

s = slice(None, None, -1)

print a[s]

#多維數(shù)組的切片與索引

b = np.arange(24).reshape(2,3,4)

print b.shape

print b

print b[0,0,0]

print b[:,0,0]

print b[0]

print b[0, :, :]

print b[0, ...]

print b[0,1]

print b[0,1,::2]

print b[...,1]

print b[:,1]

print b[0,:,1]

print b[0,:,-1]

print b[0,::-1, -1]

print b[0,::2,-1]

print b[::-1]

s = slice(None, None, -1)

print b[(s, s, s)]

#布爾型索引

names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])

data = randn(7, 4)

names

data

names == 'Bob'

data[names == 'Bob']

data[names == 'Bob', 2:]

data[names == 'Bob', 3]

names != 'Bob'

data[-(names == 'Bob')]

mask = (names == 'Bob') | (names == 'Will')

mask

data[mask]

data[data < 0] = 0

data

data[names != 'Joe'] = 7

data

#花式索引

arr = np.empty((8, 4))

for i in range(8):

arr[i] = i

arr

arr[[4, 3, 0, 6]]

arr[[-3, -5, -7]]

arr = np.arange(32).reshape((8, 4))

arr

arr[[1, 5, 7, 2], [0, 3, 1, 2]]

arr[[1, 5, 7, 2]][:, [0, 3, 1, 2]]

arr[np.ix_([1, 5, 7, 2], [0, 3, 1, 2])]

#數(shù)組轉(zhuǎn)置

arr = np.arange(15).reshape((3, 5))

arr

arr.T

#改變數(shù)組的維度

b = np.arange(24).reshape(2,3,4)

print b

print b.ravel()

print b.flatten()

b.shape = (6,4)

print b

print b.transpose()

b.resize((2,12))

print b

#組合數(shù)組

a = np.arange(9).reshape(3,3)

print a

b = 2 * a

print b

print np.hstack((a, b))

print np.concatenate((a, b), axis=1)

print np.vstack((a, b))

print np.concatenate((a, b), axis=0)

print np.dstack((a, b))

oned = np.arange(2)

print oned

twice_oned = 2 * oned

print twice_oned

print np.column_stack((oned, twice_oned))

print np.column_stack((a, b))

print np.column_stack((a, b)) == np.hstack((a, b))

print np.row_stack((oned, twice_oned))

print np.row_stack((a, b))

print np.row_stack((a,b)) == np.vstack((a, b))

#數(shù)組的分割

a = np.arange(9).reshape(3, 3)

print a

print np.hsplit(a, 3)

print np.split(a, 3, axis=1)

print np.vsplit(a, 3)

print np.split(a, 3, axis=0)

c = np.arange(27).reshape(3, 3, 3)

print c

print np.dsplit(c, 3)

#數(shù)組的屬性

b=np.arange(24).reshape(2,12)

b.ndim

b.size

b.itemsize

b.nbytes

b = np.array([ 1.+1.j, 3.+2.j])

b.real

b.imag

b=np.arange(4).reshape(2,2)

b.flat

b.flat[2]

#數(shù)組的轉(zhuǎn)換

b = np.array([ 1.+1.j, 3.+2.j])

print b

print b.tolist()

print b.tostring()

print np.fromstring('\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\x00@', dtype=complex)

print np.fromstring('20:42:52',sep=':', dtype=int)

print b

print b.astype(int)

print b.astype('complex')

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蔬墩,一起剝皮案震驚了整個濱河市畏妖,隨后出現(xiàn)的幾起案子拳话,更是在濱河造成了極大的恐慌福荸,老刑警劉巖厦章,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雀费,死亡現(xiàn)場離奇詭異比肄,居然都是意外死亡男翰,警方通過查閱死者的電腦和手機另患,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛾绎,“玉大人昆箕,你說我怎么就攤上這事∽夤冢” “怎么了鹏倘?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長顽爹。 經(jīng)常有香客問我纤泵,道長,這世上最難降的妖魔是什么镜粤? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任捏题,我火速辦了婚禮,結(jié)果婚禮上肉渴,老公的妹妹穿的比我還像新娘公荧。我一直安慰自己,他們只是感情好同规,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布循狰。 她就那樣靜靜地躺著,像睡著了一般券勺。 火紅的嫁衣襯著肌膚如雪绪钥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天朱灿,我揣著相機與錄音昧识,去河邊找鬼。 笑死盗扒,一個胖子當著我的面吹牛跪楞,可吹牛的內(nèi)容都是我干的缀去。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼甸祭,長吁一口氣:“原來是場噩夢啊……” “哼缕碎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起池户,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤咏雌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后校焦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赊抖,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年寨典,在試婚紗的時候發(fā)現(xiàn)自己被綠了氛雪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡耸成,死狀恐怖报亩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情井氢,我是刑警寧澤弦追,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站花竞,受9級特大地震影響劲件,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜左胞,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一寇仓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烤宙,春花似錦遍烦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拐云,卻和暖如春罢猪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叉瘩。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工膳帕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓危彩,卻偏偏與公主長得像攒磨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子汤徽,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

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