pandas和numpy使用小記

numpy數(shù)組不可以擴(kuò)展

可是它最大的缺點(diǎn)就是不可動態(tài)擴(kuò)展——“NumPy的數(shù)組沒有這種動態(tài)改變大小的功能,numpy.append()函數(shù)每次都會重新分配整個數(shù)組戒劫,并把原來的數(shù)組復(fù)制到新數(shù)組中善玫。

http://blog.chinaunix.net/uid-23100982-id-3164530.html

numpy數(shù)組的展平

可以用flatten禁悠,也可以用numpy.ravel()

比如下面這個數(shù)組

arr = np.arange(10).reshape(1,2,5)
Out[40]:
array([[[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]]])
可以使用fatten和ravel函數(shù)進(jìn)行展平

arr.flatten()

numpy.ravel(arr)

Out[41]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

numpy數(shù)組合并

如果只有兩個元素刮便,那么用append合并就行

如果有三個或者以上的元素讹蘑,那么用numpy.concatenate這個函數(shù)

numpy.concatenate((a1, a2, ...), axis=0)
把n個數(shù)組放到一個tuple里面怀樟,作為一個大參數(shù)(a1, a2, ...)放到concatenate這個函數(shù)里面

python list 合并

python list合并,可以用append,extend,也可以直接用+號進(jìn)行

z=x+y

numpy 數(shù)組的初始化和循環(huán)填充

有的時候想新建個array功偿,然后通過循環(huán)不斷append補(bǔ)充這個數(shù)組。后來看到stackoverflow上說這個是非常低效率的往堡。

numpy的array一般是先初始化好尺寸的數(shù)組脖含,全附上0罪塔,然后再一個一個修改這個值。而不是不斷的擴(kuò)充數(shù)組結(jié)構(gòu)养葵。

比如下面這個就是不太推薦的寫法

big_array # Initially empty. This is where I don't know what to specify
for i in range(5):
array i of shape = (2,4) created.
add to big_array
參考http://stackoverflow.com/questions/4535374/initialize-a-numpy-array

python目錄遍歷

一個用os庫

一個用glob庫

list,array,dataframe,mat 幾個容器的使用

list如果能用就用征堪,最底層,效率也最高的元素关拒,而且支持字符和數(shù)字混搭

np的array付給他更多的操作佃蚜,但是不支持字符,需要chararray才能混搭着绊,chararray其實(shí)功能不是特別強(qiáng)大谐算,所以不推薦numpy的數(shù)組里面混搭文字和數(shù)字

np的dataframe適合大小規(guī)模的選擇和操作,但是不適合一點(diǎn)點(diǎn)增添归露,最好是先把一個大的array都鼓搗好了一個洲脂,一整個array直接全塞進(jìn)去。

所以基本是簡單的數(shù)據(jù)用list剧包,需要做處理的中低層的數(shù)據(jù)用array恐锦,然后燴成一鍋全裝進(jìn)dataframe做大規(guī)模范圍的數(shù)據(jù)分析。 如果需要矩陣操作的時候才使用numpy的mat

這是我的理解疆液。

許多python和numpy對某個數(shù)據(jù)的處理一铅,不會改變數(shù)據(jù)本身,而是把結(jié)果拷貝出來輸出給其他對象

比如s.join('something')

arr.append(arr2)

對dataframe columns的選擇

dataframe一般都是根據(jù)標(biāo)簽選擇列堕油,比如dataframe['feature1']

同時也可以使用ix潘飘,按照列數(shù)進(jìn)行選擇,比如選擇第一列和第二列 df.ix[:,0:2]

如果選擇的是多個列掉缺,那么會返回的是dataframe對象

而如果只選擇一個列卜录,那么會返回series對象,這個比較蛋疼眶明。

python format字符串的輸出

str.format() //str是字符串

  1. format函數(shù)前的str字符串可以用{}來做占位符

‘a(chǎn) is {}暴凑,b is {}’.format(a,b)

  1. 也可以在{}里面加數(shù)字用來和后面的變量進(jìn)行對應(yīng)

‘a(chǎn) is {1},b is {2}, a is {1}’.format(a,b)

  1. 還可以用講里面的數(shù)字視為對象本身
    比如lis=['xiaoming','xiaowang']
    ‘my name is {0[0]}赘来,his name is {0[1]}’.format(lis)

  2. {}里面還可以對輸出的精度和進(jìn)制進(jìn)行輸出

'the number is {:.2f}'.format(332.245)

'the binary value of the number is {:b}'.format(332.245)

dataframe之間做運(yùn)算现喳,要用到.values 除法
for i in range(len):
df3[i]=df1[i]-df2[i].values
一個dataframe,和另一個dataframe的values才可以做直接的運(yùn)算

dataframe的slicing
df=pd.DataFrame()
df[1] #這個是不行的
df[1:2] #這樣才行 有頭有尾才行 或者寫成df.ix[1,:] #最好用index進(jìn)行slice的犬辰,都用.ix這個函數(shù)進(jìn)行slice嗦篱,這樣規(guī)范一些。

dataframe每行都減去前一行 怎么實(shí)現(xiàn)(第一行保持原值
方法一:用index進(jìn)行整體減法
df[:-1] -df[1:]
方法二: 自己笨笨的寫循環(huán)唄幌缝。
for i in range(1,length):
df.ix[i,:]-df.ix[i-1,:]
方法三:調(diào)用shift方法灸促,
df-df.shift(1) #df.shift(1) 就是df整體下移的結(jié)果,至于新dataframe的首行則為nan,需要自己再手動賦0

df.fillna(inplace=True, method='ffill') inplace就是自己替換自己了

兩個120的數(shù)組如何合成一個220的數(shù)組浴栽?用asarray

np.asarray(np.random.randn(10),np.random.randn(10))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末荒叼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子典鸡,更是在濱河造成了極大的恐慌被廓,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萝玷,死亡現(xiàn)場離奇詭異嫁乘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)球碉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門蜓斧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人睁冬,你說我怎么就攤上這事挎春。” “怎么了豆拨?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵直奋,是天一觀的道長。 經(jīng)常有香客問我辽装,道長帮碰,這世上最難降的妖魔是什么相味? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任拾积,我火速辦了婚禮,結(jié)果婚禮上丰涉,老公的妹妹穿的比我還像新娘拓巧。我一直安慰自己,他們只是感情好一死,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布肛度。 她就那樣靜靜地躺著,像睡著了一般投慈。 火紅的嫁衣襯著肌膚如雪承耿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天伪煤,我揣著相機(jī)與錄音加袋,去河邊找鬼。 笑死抱既,一個胖子當(dāng)著我的面吹牛职烧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼蚀之,長吁一口氣:“原來是場噩夢啊……” “哼蝗敢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起足删,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤寿谴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后壹堰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拭卿,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年贱纠,在試婚紗的時候發(fā)現(xiàn)自己被綠了峻厚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡谆焊,死狀恐怖惠桃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辖试,我是刑警寧澤辜王,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站罐孝,受9級特大地震影響呐馆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜莲兢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一汹来、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧改艇,春花似錦收班、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至承疲,卻和暖如春邻耕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背燕鸽。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工兄世, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绵咱。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓碘饼,卻偏偏與公主長得像熙兔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子艾恼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容