python資料處理 學習筆記 第1章

2021-09-25 07:29:08 字數 4133 閱讀 9764

help

(len

)help on built-

in function len

in module builtins:

len(obj,/)

return the number of items in a container.

len?

# ?可以檢視方法文件

l =[1,

2,3]

l.insert?

l?def

square

(a):

""" return the square of a

"""return a**

2

square?

square??

# ??可以檢視原始碼

len??

l.file ""

, line 1

l.^syntaxerror: invalid syntax

# tab鍵自動補全

l.clear

.clear>

l.count

.count>

l.__add__

# _下劃線表示私有方法

object at 0x000001661243c548

>

# 除了tab鍵自動補全,還有 * 萬用字元補全

*warning?

"""會列出所有匹配的方法

byteswarning

deprecationwarning

futurewarning

importwarning

pendingdeprecationwarning

resourcewarning

runtimewarning

syntaxwarning

unicodewarning

userwarning

warning

"""# 1.4

# ipython魔法命令

# 1.4.1 %paste 貼上

# 1.4.3 計算**執行時間 %timeit

%timeit l =

[n**

2for n in

range

(1000)]

276 µs ± 19.9 µs per loop (mean ± std. dev. of 7 runs,

1000 loops each)

%%timeitl=[

]for n in

range

(1000):

2)337 µs ± 31 µs per loop (mean ± std. dev. of 7 runs,

1000 loops each)

1.6.2 魔法命令,ipython可以用 !和終端命令結合執行任何命令

例如!ps

!pwd

1.8 錯誤和除錯

1.8.1 異常控制 %xmode

當出現異常的時候可以控制在「軌跡追溯」中找到錯誤原因,輸出異常資訊

deffunc1

(a,b)

:return a/b

deffunc2

(x):

a = x

b = x -

1return func1(a,b)

​# 執行 func2(1) 會出錯

func2(1)

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

---zerodivisionerror traceback (most recent call last)

input-6

-7cb498ea7ed1

>

in()

----

>

1 func2(1)

input-5

-ee9d1acebbe5>

in func2(x)

2 a = x

3 b = x -1-

--->

4return func1(a,b)

input-3

-af923f9209db>

in func1(a, b)

1def

func1

(a,b):-

--->

2return a/b

zerodivisionerror: division by zero

%xmode 異常模式,可以改變輸出資訊

%xmode plain # plain 會使得輸出資訊變得緊湊,內容更少

exception reporting mode: plain

func2(1)

traceback (most recent call last)

: file ""

, line 1,in

func2(1)

file ""

, line 4

,in func2

return func1(a,b)

file ""

, line 2

,in func1

return a/b

zerodivisionerror: division by zero

還有verbose 模式,可以增加額外資訊,包括任何被呼叫的函式的引數

%xmode verbose

exception reporting mode: verbose

func2(1)

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

---zerodivisionerror traceback (most recent call last)

input-10

-7cb498ea7ed1

>

in()

----

>

1 func2(1)

global func2 =

>

input-5

-ee9d1acebbe5>

in func2(x=1)

2 a = x

3 b = x -1-

--->

4return func1(a,b)

global func1 =

>

a =1 b =

0input-3

-af923f9209db>

in func1(a=

1, b=0)

1def

func1

(a,b):-

--->

2return a/b

a =1 b =

0zerodivisionerror: division by zero

1.8.2 當閱讀軌跡追溯不能解決問題的時候

%debug 魔法命令

%time

wall time:

0 ns

%debug

1.9 **分析和計時

# 魔法命令

%time # 對單個語句執行時間計時

%prun # 用分析器執行**

%lprun # 用逐行分析執行**

%memit # 測量單個語句的記憶體使用

%mprun # 通過逐行的記憶體分析器執行**

​1.9

.1 **段計時

%timeit 和 %time​​

​​​​

​​​

Python 資料處理學習筆記

2.列表 3 字典 4.集合 固定長度,不可變的物件序列 逗號分隔 tup 4,5,6tup 1 2,3 4 5 tuple轉換函式 tup tuple strings a tup 0 1.元組物件不可更改,但物件內部可以修改 2.元組拆包 tup 1,2,3 4 a,b,c,d tup a,b 1...

Pandas資料處理學習筆記

1.pandas的基本資料型別 1 pandas一共包含了兩種資料型別,分別是series和dataframe series型別就類似於一維陣列物件。它是由一組資料以及一組與之相關的資料標籤 索引 組成的。import pandas as pd 例項化乙個series物件,引數是乙個陣列。obj p...

簡單大資料處理 學習筆記

試問年輕時誰沒有幾個夢想?大資料處理一直在我計畫之中,只不過人在江湖,身不由己,公司平台上一直沒有接觸這方面的工作,因為初創公司的資料量,最近在思考來創業公司的幾年打拼經歷,感覺收效甚微,技術層次還停留在幾年前的水平,這裡不是怪公司提供的平台不給力,只是後悔期間自己沒有合理的安排學習時間,天天忙碌加...