成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python數(shù)據(jù)分析

Chaz / 2768人閱讀

摘要:為了解決這一矛盾,同時(shí)擴(kuò)充數(shù)據(jù)類型,以下簡稱就應(yīng)運(yùn)而生了。在數(shù)據(jù)分析大數(shù)據(jù)機(jī)器學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)方面都可以看到的身影。元素查找有以下列表我們可以使用庫進(jìn)行信息提取除此之外,我們還可以定義一個(gè)函數(shù)這樣,將會(huì)使用中的數(shù)以的返回值作為判斷依據(jù)。

前面

Python作為一種弱類型語言,雖身帶高效開發(fā)的BUFF,但同時(shí)也有著不出眾的運(yùn)行性能。由于數(shù)據(jù)類型的判斷是在解釋器內(nèi)部進(jìn)行,所以對于每一個(gè)變量操作后都要重新判斷數(shù)據(jù)類型,這勢必增加解釋器的負(fù)擔(dān)。為了解決這一矛盾,同時(shí)擴(kuò)充Python數(shù)據(jù)類型,numpy(以下簡稱np)就應(yīng)運(yùn)而生了。np不僅提供了諸如整數(shù)數(shù)組,線性方程、矩陣的相關(guān)數(shù)據(jù)類型,還可以進(jìn)行一系列的操作運(yùn)算,同時(shí)由于底層代碼用C編寫的,所以運(yùn)行起來性能也不錯(cuò)。在數(shù)據(jù)分析、大數(shù)據(jù)、機(jī)器學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)方面都可以看到np的身影。在學(xué)習(xí)np之前,先來補(bǔ)充python的其它常用數(shù)據(jù)技巧:

數(shù)組解壓
>>>list1 = [1,2,3,4,["a","b","c"]]
>>>var1, var2, var3, var4, vars1 = list1
1 2 3 4 ["a", "b", "c", "d"]

通過上面這種方法可以使用多個(gè)變量去接收一個(gè)list(或者tuple)結(jié)構(gòu)。
當(dāng)然,我們知道Python可以使用星號(hào)+變量名來將多出的元素保存到一個(gè)元組中:

>>>*vars1, var1 = list
>>>vars1, var1
([1, 2, 3, 4], ["a", "b", "c", "d"])

可以看出使用星號(hào)后,只會(huì)為list最后幾個(gè)元素保留,其它元素都?xì)w星號(hào)的元素接收,以下寫法更加明顯:

>>>var1,*vars1 = list1
>>>var1,*vars1
(1, 2, 3, 4, ["a", "b", "c", "d"])

繼續(xù)多分配幾個(gè)數(shù)組:

>>>var1,var2,var3,*vars1 = list1
>>>var1,var2,var3,vars1
(1, 2, 3, [4, ["a", "b", "c", "d"]])

可以看出星號(hào)所包含的變量總會(huì)在最后被分配。
這個(gè)方法有什么實(shí)用意義呢,比如有以下字符串:

"By777:20:Python:Linux:Web"

可以使用上面的方式來提取有用的信息:

>>>str = "By777:20:Python:Linux:Web"
>>>name, age, *tools = str.split(":")
定長列表

定長列表常常用來處理消息隊(duì)列,作用類似于棧,我們可以使用下面方式來很方便的使用消息隊(duì)列:

>>>from collections import deque

deque可以看作list的加強(qiáng)版本,可以設(shè)置最大長度:

>>>d = deque(maxlen=10)
>>>for i in range(12):d.append(i)
>>>d
deque([2, 3, 4, 5, 6, 7, 8, 9, 10, 11])

可以看出第11個(gè)元素將第一個(gè)元素1壓了出去。
當(dāng)然我們還可以使用appendleft方法逆向壓入構(gòu)建逆序。

元素查找

有以下列表:

>>>list2 =list(range(5))
>>>list2
[0, 1, 2, 3, 4]

我們可以使用heapq庫進(jìn)行信息提?。?/p>

>>>import heapq
>>>heapq.nlargest(3,list2)
[4, 3, 2]

除此之外,我們還可以定義一個(gè)函數(shù):

>>>def myfun(c):
>>>if c>50:
>>>    return c**0.5
>>>return c
>>>heapq.nlargest(2,list2,key=myfun)
[4, 3]

這樣,將會(huì)使用list中的數(shù)以key的返回值作為判斷依據(jù)。

多值映射
>>>from collections import defaultdict
>>>d = defaultdict(list)
>>>d
defaultdir(list,{})

這樣我們就構(gòu)建了一個(gè)默認(rèn)的key對應(yīng)values默認(rèn)為list類型的字典
那么我們就可以繼續(xù)進(jìn)行賦值操作:

 >>>d["a"].append(1)
 >>>d
defaultdict(list, {"a": [1]})
……
>>>d
defaultdict(list, {"a": [1, 1, 2]})

同樣,也可以定義為set類型:

>>>d_set = defaultdict(set, {})
>>>d_set["a"].add(1)
 >>>d_set
 defaultdict(set, {"a": {1}})
有序字典
>>>from collections import OrderedDict

使用有序字典的好處是的鍵值的順序是按照添加的順序進(jìn)行的:

>>>od = OrderedDict()
>>>od["a"] = 1
>>>od["c"] = 3
>>>od["d"] = 2
>>>od
OrderedDict([("a", 1), ("c", 3), ("d", 2)])    

如果使用默認(rèn)字典對比明顯:

>>>d = {}
 >>>d["a"] = 1
 >>>d["c"] = 2
 >>>d["b"] = 3
 >>>d
{"a": 1, "b": 3, "c": 2}
字典運(yùn)算

Python原生字典是可以進(jìn)行諸如+、-、&、min、zip等運(yùn)算的:
但是原生字典和OrderedDict不能直接運(yùn)算:

>>>d_cm -od
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in ()
----> 1 d_cm -od
TypeError: unsupported operand type(s) for -: "dict" and "collections.OrderedDict"

我們要使用items方法:

>>>d_cm.items() - od.items()#只存在與d_cm不存在與od的元素
{("bar", 2), ("foo", 1), ("script", 3), ("test", 4)}
>>>d_cm.keys() & od.keys()

此外,還有一下操作:

>>>d_cm = {"bar":2,"foo":1,"script":3}
>>>min(d_cm,key=lambda k:d_cm[k])#需要通過函數(shù)
"foo"
>>>sorted (d_cm,key=lambda k
["foo", "bar", "script"]
>>>min(zip(d_cm.values(),d_cm.keys()))
(1, "foo")

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40777.html

相關(guān)文章

  • 首次公開,整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊,到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評論0 收藏0
  • 學(xué)習(xí)Python:做數(shù)據(jù)科學(xué)還是網(wǎng)站開發(fā)?

    摘要:屬于前一種,而且日益被用于數(shù)學(xué)計(jì)算機(jī)器學(xué)習(xí)和多種數(shù)據(jù)科學(xué)應(yīng)用。近來,由于擁有多個(gè)針對機(jī)器學(xué)習(xí)自然語言處理數(shù)據(jù)視覺化數(shù)據(jù)探索數(shù)據(jù)分析和數(shù)據(jù)挖掘的插件,豐富的數(shù)據(jù)科學(xué)生態(tài)體系得到了較大的發(fā)展,甚至有將數(shù)據(jù)科學(xué)社區(qū)化的趨勢。 譯者注:本文的英文原文地址是:Python for Data Science vs Python for Web Development,發(fā)布時(shí)間是10月29日。譯者一...

    neu 評論0 收藏0
  • 關(guān)于Python的三個(gè)謊言,別再盲目學(xué)Python

    摘要:關(guān)于的三個(gè)謊言,你一定要清楚。這是的整個(gè)知識(shí)體系圖譜,對于新手來說,沒必要學(xué)那么多。第四自動(dòng)化測試一切關(guān)于自動(dòng)化的東西,似乎都可以滿足,可以滿足大多數(shù)自動(dòng)化工作,提升工作效率。這都是正常的,千萬別急著否定自己,懷疑自己。 ...

    TZLLOG 評論0 收藏0
  • 細(xì)數(shù)Python三十年技術(shù)演變史——萌發(fā)于小眾,崛起于AI

    摘要:作者宋天龍來源科技大本營導(dǎo)語一切都始于年的那個(gè)圣誕節(jié),的誕生并不算恰逢其時(shí),它崛起充滿了機(jī)遇巧合,也有其必然性。年的圣誕節(jié),開始編寫語言的編譯器。年發(fā)布的標(biāo)志著的框架基本確定。年月發(fā)布了系列的最后一個(gè)版本,主版本號(hào)為。 showImg(https://segmentfault.com/img/remote/1460000019862276); 作者 | 宋天龍來源 | AI科技大本營 ...

    tuniutech 評論0 收藏0
  • Python與R、Matlab的對比

    摘要:我們來看一下美國相關(guān)專業(yè)人員對兩者的對比,只是粗略而不精準(zhǔn)的翻譯一下。小結(jié)其實(shí)在寫這篇文章之前,我就問過一下包括清華在內(nèi)的學(xué)校以及一些數(shù)學(xué)專業(yè)的學(xué)生,和還是占主流,但是經(jīng)過一番調(diào)查發(fā)現(xiàn)在美國在數(shù)據(jù)科學(xué)數(shù)學(xué)等方面好像漸成壓倒性的優(yōu)勢。 作為一枚程序員,想要研究Python編程語言與數(shù)學(xué)學(xué)習(xí)(教學(xué))的結(jié)合,就不能不了解以及比對一下其他數(shù)學(xué)學(xué)習(xí)與應(yīng)用的解決方案,比如R語言、Matlab等數(shù)學(xué)...

    yunhao 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.30 - 學(xué)習(xí) Python 來做一些神奇好玩的事情吧

    摘要:學(xué)習(xí)筆記七數(shù)學(xué)形態(tài)學(xué)關(guān)注的是圖像中的形狀,它提供了一些方法用于檢測形狀和改變形狀。學(xué)習(xí)筆記十一尺度不變特征變換,簡稱是圖像局部特征提取的現(xiàn)代方法基于區(qū)域圖像塊的分析。本文的目的是簡明扼要地說明的編碼機(jī)制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開始之前,我們先來看這樣一個(gè)提問: pyth...

    lifesimple 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<