numpy和pandas的常用操作

2021-08-28 11:21:17 字數 2625 閱讀 4182

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 ...