python数据分析方法和命令_《利用Python进行数据分析》 —— (1)
《利用Python進行數據分析》 —— (1)
Python的學習需要自主探索各種類型,函數和方法的文檔。
2.1 Python解釋器
在IPython(Jupyter Qtconsole)上,可以通過%run命令執行文件中的代碼
In [16]: %run hellow.py 1,2,3 10
1,2,3
10
2.2 IPython 基礎
2.2.3 Tab補全
在搜索交互命名空間和補全對象或模塊屬性時有用
當輸入任意路徑時,按下Tab可以補全你的計算機文件系統中匹配你輸入內容的值。(與%run命令搭配可以大大提升效率)
tab補全的另一個應用場景是在函數的關鍵詞參數(包含=)
2.2.4 內省
在變量前后使用問號?,可以顯示對象的信息:
In [17]: b = [1, 2, 3]
In [18]: b?
Type: list
String form: [1, 2, 3]
Length: 3
Docstring:
Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list.
The argument must be an iterable if specified.
如果對象是一個函數或實例方法且文檔字符串已經寫好,則文檔字符串會顯示出來。
In [19]: def f(x):
"""
this is a function
"""
return x + 1
In [20]: f?
Signature: f(x)
Docstring: this is a function
File: d:\python_data\
Type: function
??可以顯示源碼
In [23]: f??
Signature: f(x)
Source:
def f(x):
"""
this is a function
"""
return x + 1
File: d:\python_data\
Type: function
?還有一個用途,就是像Unix或Windows命令行一樣搜索IPython的命名空間。字符與通配符結合可以匹配所有的名字。
In [22]: np.fi*?
np.fill_diagonal
np.find_common_type
np.finfo
np.fix
2.2.5 %run命令
文件中所有定義的變量(import、函數和全 局變量,除非拋出異常)在運行后,都可以在IPython shell中隨后訪問:
假如Python腳本需要命令行提供參數(通過sys.argv獲取),則需要在命令的文件路徑后面加上參數進行傳遞。
import sys
fi = sys.argv[1]
se = sys.argv[2]
print(fi)
print(se)
"""
%run file.py [a1, a2, .., an] [b1, b2, .., bn]
"""
如果要在 Jupyter 中你想要將腳本導入一個代碼單元,可以使用%load魔術函數。
通過Ctrl + C結束運行。
2.27 終端快捷鍵
Ctrl-P 或上箭頭鍵 后向搜索命令歷史中以當前輸入的文本開頭的命令
Ctrl-N 或下箭頭鍵 前向搜索命令歷史中以當前輸入的文本開頭的命令
Ctrl-R 按行讀取的反向歷史搜索(部分匹配)
Ctrl-Shift-v 從剪貼板粘貼文本
Ctrl-C 中止當前正在執行的代碼
Ctrl-A 將光標移動到行首
Ctrl-E 將光標移動到行尾
Ctrl-K 刪除從光標開始至行尾的文本
Ctrl-U 清除當前行的所有文本譯注12
Ctrl-F 將光標向前移動一個字符
Ctrl-b 將光標向后移動一個字符
Ctrl-L 清屏
2.2.8 魔術命令
%magic展示
2.2.9 matplotlib集成
在IPython 中,%matplotlib
在Jupyter notebook 中, %matplotlib inline
2.3 Python語言基礎
2.3.1.8 鴨子類型
有時候你不關心某個對象是什么類型,你只關心它是否擁有某個特殊的方法或行為。
例如你想驗證一個對象是否實現了迭代器協議,那么它必須可以迭代。
def isiterable(obj):
try:
iter(obj)
return True
except TypeError: # 不可遍歷
return False
通常在編寫接受多種類型輸入的函數時,可以使用這些功能。
eg:要接受任意序列類型(列表,元組,n維數組),你可以先判斷是否為一個列表(或者為Numpy數組)否則將其轉化為列表:
if not isinstance(x, list) and isiterable(x):
x = list(x)
2.3.1.10二元操作符
In [9]: a = [1, 2, 3]
In [10]: b = a
In [11]: c = list(a)
In [12]: a is b
Out[12]: True
In [13]: a is not c
Out[13]: True
值得注意的是list函數總是創建一個新的Python列表(即一份拷貝)。
且is和==是不同的,c is a為False,c == a為True。
還值得注意的是//整除符號。如果需要風格的整除除法(去除非整數部分的小數部分),則可以用整除操作符
2.3.2.2 字符串
字符串是不可以修改的!!
在遇到有大量反斜杠字符串時可以通過添加r"XXX"表明該字符串為原生字符。
字符串格式化,字符串擁有一個format方法。
例如:In [64]: template = '{0 : .2f} {1 : s}, are worth US${2 : d}'。在這字符串中
{0 : .2f} 表示格式化第一個參數為帶有兩位小數的浮點數。
{1 : s} 表示格式化第二個參數為字符串。
{2 : d} 表示格式化第三個參數為一個整數。
2.3.2.7 日期與時間
熟練掌握兩個方法:
第一個strftime將datatime類型轉為字符串:
In [102]: from datetime import datetime, date, time
In [103]: dt = datetime(2011, 10, 29, 20, 30, 21)
...
In [108]: dt.strftime('%m/%d/%Y %H:%M')
Out[108]: '10/29/2011 20:30'
strptime 可以將字符串轉換成 datetime 對象:
In [109]: datetime.strptime('20091031', '%Y%m%d')
Out[109]: datetime.datetime(2009, 10, 31, 0, 0)
2.3.3.6 三元表達式
語法如下:
value = 'true-expr' if condition else 'false-expr'
總結
以上是生活随笔為你收集整理的python数据分析方法和命令_《利用Python进行数据分析》 —— (1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机箱硬盘指示灯不亮_安钛克DF600 F
- 下一篇: python turtle画彩虹的代码_