python資料分析基礎知識點一

2021-10-01 03:03:55 字數 3403 閱讀 9982

map函式用於遍歷序列。對序列中每個元素進行操作,最終獲取新的序列

如:

li=[11,22,33]

new_list=map(lambda a:a+100,li)

list(new_list)

輸出結果:

[111, 122, 133]

如:

li=[11,22,33]

s1=[1,2,3]

new_list=map(lambda a,b:a+b,li,s1)

list(new_list)

結果為: [12, 24, 36]

篩選函式filter:用於對序列中的元素進行篩選,最終獲取符合條件的序列
li=[11,22,33]

new_list=filter(lambda x:x>22,li)

list(new_list)

結果為:[33]

累計函式(reduce):用於對序列內所有元素進行累計操作
from functools import

reduce

li=[11

,22,33

,44]reduce

(lambda arg1,arg2:arg1+arg2,li)

結果為:

110

reduce函式還可以接受第3個可選元素,作為計算的初始值,如果把初始值設為100

reduce(lambda arg1,arg2:arg1+arg2,li,100)

結果為:210

計算過程如下:

第一步:先計算初始值和第1個元素,即100+11,結果為:111

第一步:再把結果和第2個元素計算,即111+22,結果為:133

依次計算…

類和物件:

注意到__init__方法的第乙個引數永遠是self,表示建立的例項本身,因此在__init__方法內部,就可以把各種屬性繫結到self,因為self就指向建立的例項本身

私有變數和私有方法:

類可以有公有變數和公有方法,也可以有私有變數和私有方法,公有部分的物件可以從外部訪問,而私有部分的物件只有在類的內部才可訪問。在普通變數名或方法名前加兩個"_",即可成為私有變數或方法

例項:

#! /usr/bin/python

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

class

pubandpri

: pub=

"這是公有變數"

__pri=

"這是私有變數"

def__init__

(self)

: self.other=

"公有變數也可以這樣定義"

defout_pub

(self)

:print

("公有方法"

,self.pub,self.__pri)

def__out_pri

(self)

:print

("私有方法"

,self.pub,self.__pri)

pp = pubandpri(

)pp.out_pub(

)#公有方法 這是公有變數 這是私有變數

print

(pp.pub,pp.other)

#這是公有變數 公有變數也可以這樣定義

try:

pp.__out_pri(

)except exception as e:

print

("呼叫私有方法發生錯誤!"

)#走到了這一步

try:

print

(pp._pri)

except exception as e:

print

("訪問私有變數發生錯誤!"

)#走到了這一步

結果為:

公有方法 這是公有變數 這是私有變數

這是公有變數 公有變數也可以這樣定義

呼叫私有方法發生錯誤!

訪問私有變數發生錯誤!

注意1:使用str.split()省略分隔符時,會按所有的分隔符號分割,包括\n(換行) \t(tab縮排)等。

注意2:列表和元組之間是可以相互轉換的,如list(tuple)、tuple(list)元組操作速度比列表快,列表可改變,元組不可改變,可以將列表轉為元組的"寫保護"狀態。

注意3:當變數時私有的時候,使用_***來表示變數是很好地習慣,這時變數在模組或類外不可以使用,意思是只有類物件和子類物件自己能訪問到這些變數

注意4:以__雙下劃線開頭的變數名__***代表私有成員,意思是只有類物件自己能訪問,連子類物件也不能訪問這個資料

關於備份:

很多時候處理資料前需要先把資料複製乙份,做個備份,但是python裡複製資料有不少坑點

參見下面的例項:

>>

> a=[3

,2,5

,4]>>

>

id(a)

#檢視a的儲存位址

46419656

>>

> c=a #複製乙個副本c

>>

> c[3

,2,5

,4]>>

>

id(c)

#檢視c的儲存位址

46419656

#看到c的位址和a的位址一致,說明c不是真正的複製

>>

> b=a[:]

#複製乙個副本b,把a的所有元素賦值給b

>>

> b[3

,2,5

,4]>>

>

id(b)

#檢視b的儲存位址

46416712

#發現b和a的位址不同,說明備份成功

>>

> a=[1

,2]>>

> b=a

>>

> c=a.copy(

)>>

> d=a[:]

>>

> b[1

,2]>>

> c[1

,2]>>

> d[1

,2]>>

>

id(a)

46416904

>>

>

id(b)

46416904

>>

>

id(c)

46416712

>>

>

id(d)

46419656

可以看到c和d都是對a的複製

Python資料分析基礎知識

現在python資料分析是這個方向越來越受到重視,一般的大型網際網路公司都會有這個崗位,畢竟在網際網路的世界裡資料是基礎,所以,很多人看好python資料分析師這個崗位,想從事資料分析,那麼資料分析都需要有什麼基礎呢?首先,我們以企業對應的崗位jd來作為學習的嚮導,應該是最準確的。我們來看看某招聘 ...

Python基礎知識點

python2與python3編碼相容性 python2如果沒有指定編碼格式,預設的編碼是ascii,不進行轉換會出現unicodedecodeerror錯誤,為了使得python2與3進行相容,可以用如下 實現 import sys from django.utils import six if ...

資料分析 基礎知識

1.截位直除 1 選項差距大 保留兩位 a.選項首位不同 b.首位相同,次位差大於首位 2 選項差距小 保留三位 首位相同,次位差小於等於首位 一步除法 只截分母 多步除法 分子 分母都截2.比較型 1 一大一小,直接看 分子大的分數大 2 同大同小 a.豎著直除 兩個以上分數時,優先使用 b.橫著...