1、np.zero
np.zeros(5) 1行5列 結果:array([ 0., 0., 0., 0., 0.])
np.zeros((2, 1)) 2行1列 結果:array([[ 0.], [ 0.]])
2、矩陣乘法
np.dot
np.multiply
1、 讀取csv檔案
引數:
names,自定義列名
keep_default_na=false,沒有資料的條目就會被識別為』null』,而不是nan(用nan後面的資料處理中如果進行了比較操作會報錯,就需要設定一下這個屬性)
pddata = pd.read_csv(path, header=none, names=['exam 1', 'exam 2', 'admitted'])
2、merge和join
python語言pandas包中merge比join更像關聯式資料庫sql語言中的join操作。merge是根據兩個表的關鍵字段(例如主鍵或index)值匹配的,兩張表只能橫向合併,共同的列(即鍵)合併成一列,主鍵值相同的元組資料匹配成一條新的資料。如果除了鍵以外還有別的列也同名,merge後的列會自動採用「列名_表名」的形式,也可以通過suffix指定格式。join既可以橫向又可以縱向合併,通過引數axis取0或1控制。join是根據column列名或index索引名合併**的,兩張**合併後共同名稱的列或索引不會合併,而是形成重名的兩列或索引,索引或列名相同的行或列對齊成為新的資料。因此,merge講究鍵值的對應,而join講究位置的對應。兩張表如果沒有共同的鍵(列)是無法merge的,程式會報錯。兩張表如果沒有共同的索引或列名仍然可以join,合併後空缺的位置自動用nan填補。merge合併**的預設方式是inner,而join的預設方式是outer。
3、series.map()函式
dataframe的每一列都是乙個series
ss=df[
'coupon_id'].
map(
lambda x:1.
if x !=
'null'
else0.
)# ss仍然是個series
ss=map
(lambda x: x **2,
[1,2
,3,4
,5])
# ss不是個series
# 提供了兩個列表,對相同位置的列表資料進行相加
map(
lambda x, y: x + y,[1
,3,5
,7,9
],[2
,4,6
,8,10
])#要想轉為series:
pd.series(
list
(map
(lambda x, y: x + y,[1
,3,5
,7,9
],[2
,4,6
,8,10
])))
也可以將函式作為map的引數:
frame = df[
'discount_rate'].
map(fun)
deffun
(x):
return x+
1
含有對映關係的字典型物件作為map的引數
rlp = dict(data['user_id'].value_counts())
frame = df['user_id'].map(rlp)
4、檢視series的元素型別:data[『date_received』].dtype
dataframe元素型別轉換:test_data.astype(str),如果不轉,後面資料比較操作時可能會報invalid type comparison的錯誤。
1、判斷是否為空
如果列為nan的形式:
ss=data[data[
'date_received'
].notnull()]
#返回不為空的行
ss=data[data[
'date_received'
].isnull()]
#返回為空的行
如果列為'null'的形式(讀取csv時加入了keep_default_na=
false屬性)
ss=data[data[
'date_received']!=
'null'
]#返回不為空的行
ss=data[data[
'date_received']==
'null'
]#返回為空的行
data[『colname』]返回的是乙個列組成的series
data[series]返回的是滿足series的行,series中是true或false。
2、插入一列:pddata.insert(0, 『ones』, 1) #在第0列插入1,列名為』ones』
3、data[[『key1』]]與data[『key1』]的區別是,前者返回乙個dataframe物件,後者返回乙個series物件。
Numpy和Pandas的區別
首先來說說ndarray,numpy提供了乙個n維度的資料型別 ndarray 他描述了相同型別的items集合 1.ndarray中所有元素的型別都是相同的,而python列表中的元素型別是任意的,所以,ndarray在儲存元素的時候,記憶體可以連續。而python原生list就只通過定址法找到下...
numpy和pandas中set option總結
import warnings import numpy as np import pandas as pd warnings.filterwarnings ignore 關閉執行時的警告 np.set printoptions linewidth 100,suppress true 列印numpy...
python安裝numpy和pandas的方法步驟
最近要對一系列資料做同比比較,需要用到numpy和pandas來計算,不過使用python安裝numpy和pandas因為linux環境沒有外網遇到了很多問題就記下來了。首要條件,python版本必須是2.7以上。linux首先安裝依賴包 yum y install blas blas devel ...