1. 程式人生 > >Python 學習中遇到的各種問題

Python 學習中遇到的各種問題

O’Reilly出版的Wes McKenny編的《Python for Data Analysis》, 採用Anaconda3整合環境

1.1 Movielens資料的處理例子,輸出前五個使用者資訊。程式碼如下:

import pandas as pd
unames = ['user_id', 'gender', 'age', 'occupationb', 'zip'] 
users = pd.read_table('ch02/movielens/users.dat', sep = "::", header = None, names = uname)

報錯資訊:

D:\Program Files\Anaconda\lib\site-packages\pandas\io\parsers.py:648: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators;you can avoid this warning by specifying engine='python'.  ParserWarning)

修改方法:在users語句末尾加上 engine=’python’

users = pd.read_table('ch02/movielens/users.dat', sep = "::", header = None, names = uname,engine='python')

1.2 在MovieLens 1M資料集例子,使用pivot_table()按性別計算每部電影的平均得分

mean_ratings = data.pivot_table('rating', rows = 'title', cols = 'gender', aggfunc = 'mean')

報錯資訊:

Traceback (most recent call last):

 File "<ipython-input-28-669a36c33797>", line 1, in <module>
        mean_ratings = data.pivot_table('rating', rows = 'title', cols = 'gender', aggfunc = 'mean')

TypeError: pivot_table() got an unexpected keyword argument 'rows'

修改方法:用 index 替換 rows,用 columns 替換 cols

mean_ratings = data.pivot_table('rating', index= 'title', columns= 'gender', aggfunc = 'mean')

1.3 Numpy.cumsum 計算累積和

# 建立 5*4 的陣列
In[1]: arr = np.arange(1, 21).reshape(5, 4)
Out[1]: 
([[ 1,  2,  3,  4],
  [ 5,  6,  7,  8],
  [ 9, 10, 11, 12],
  [13, 14, 15, 16],
  [17, 18, 19, 20]])

# numpy.cumsum() 求取累計和
In [2]: arr.cumsum()
Out[2]:
array([  1,   3,   6,  10,  15,  21,  28,  36,  45,  55,  66,  78,  91, 105, 120, 136, 153, 171, 190, 210])

# numpy.cumsum(0) 當引數為0時, 按行累計和,在每一列中累加 
In [3]: arr.cumsum(0)
Out[3]:
array([[ 1,  2,  3,  4],
       [ 6,  8, 10, 12],
       [15, 18, 21, 24],
       [28, 32, 36, 40],
       [45, 50, 55, 60]])
# numpy.cumsum(1) 當引數為1時, 按列累計和,在每一行中累加
In [4]: arr.cumsum(1)
Out[4]:
array([[ 1,  3,  6, 10],
       [ 5, 11, 18, 26],
       [ 9, 19, 30, 42],
       [13, 27, 42, 58],
       [17, 35, 54, 74]])

相關推薦

python實現機器學習各種距離計算及文字相似度演算法

在自然語言處理以及機器學習的分類或者聚類中會涉及到很多距離的使用,各種距離的概念以及適用範圍請自行百度或者參考各種距離 import numpy as np import math # 依賴包numpy、python-Levenshtein、scipy

Python 學習遇到的各種問題

O’Reilly出版的Wes McKenny編的《Python for Data Analysis》, 採用Anaconda3整合環境 1.1 Movielens資料的處理例子,輸出前五個使用者資訊。程式碼如下: import pandas as pd

關於python學習的知識點

字串操作                                           &nb

Python學習,當使用writerow時輸出多餘的空行解決方法

今天在學習用Python進行CSV檔案儲存 當我以csv格式寫入檔案的時候,檔案讀取的時候出現了多餘的空行,程式碼: 1 import csv 2 3 with open('data.csv', 'w') as csvfile: 4 writer = csv.writer(csvfile)

Python學習,當使用writerow時輸出多余的空行解決方法

代碼 erro typeerror nat 技術 換行 lin str term 今天在學習用Python進行CSV文件存儲 當我以csv格式寫入文件的時候,文件讀取的時候出現了多余的空行,代碼: 1 import csv 2 3 with open(‘data.csv

python學習基本操作

1.檔案移動與複製 # encoding:utf-8 import os import shutil shutil.move(os.path.join(path1,pic), os.path.join(dst_path, pic)) shutil.copy(pic1, os.path.j

python學習常見的問題===安裝requests庫,網路超時報錯

最近電腦重灌系統了,就下了下anaconda和vscode,想著來寫幾個爬蟲,介面剛一上來,requests包安裝就出現了問題: 安裝直接報錯了: 很顯然,下載超時了,那麼為什麼會出現這樣的情況呢??? 後來發現是超時問題,在pip中設定預設的

深度學習各種卷積總結

現在隨著深度學習的發展,應不同任務和條件的神經網路層的不斷更新迭代,顯著地如出現不同的啟用函式、不同的卷積層型別,下面主要記錄深度學習中的各種卷積層。由於是轉載內容,就不貼人家的原內容啦,將原博主連結附在此,以便後期查閱:

Python學習的關鍵點1.3

有一些函式需要了解下,這些函式在其他語言也是有類似的存在的。切片       - 對一個list或者tuple取它的一部分內容出來。正常大家應該是想我通過迴圈,找到符合條件的內容放倒新的list或者tuple中。可以有更簡單的做法,python提供了Slice操作符:L[0:

Python學習的一句笑話

尾遞迴呼叫時,如果做了優化,棧不會增長,因此,無論多少次呼叫也不會導致棧溢位。 遺憾的是,大多數程式語言沒有針對尾遞迴做優化,Python直譯器也沒有做優化,所以,即使把上面的fact(n)函式改成尾遞迴方式,也會導致棧溢位。 from:http://www.liaoxu

python 學習常用語法記錄

List(列表)相關 li = [1,2,3,4,5,6] # 1.使用del刪除對應下標的元素 del li[2] # li = [1,2,4,5,6] # 2.使用.pop()刪除最後一個元素 l

python學習的reduce()函式和lambda表示式

reduce()函式和lambda表示式常常能夠言簡意賅的表達我們想要的公式,但是問題也隨之而來:即表示式嚐嚐難以捉摸,看似高深莫測。這裡,我們簡單地探討一下這兩個表示式。如果後續學習中再次遇到這個問題,會繼續補充。同時,也懇請博友指教和補充,大家共同進步。       首

【python3.X】python學習排雷過程^_^

問題一:python讀取檔案時報錯:“UnicodeDecodeError: 'gbk' codec can't decode byte 0x8d in position 52: illegal multibyte sequence” 解決方法: 1、txt= open('read.txt','r',

Python學習的關鍵點1.2

Python中有很多現成的方法,方法的呼叫也特別簡單呼叫來源               -有python內建的、有第三方提供的、有自己定義的。內建的直接就寫上方法名,傳入引數(abs(-1)求絕對值的);第三方提供的,就先引用第三方包(import math)。然後包名點方

Python 學習筆記】各種生成器

【列表生成式】 例: d = {'x': 'A', 'y': 'B', 'z': 'C' } [k + '=' + v for k, v in d.items()] ['y=B', 'x=A', 'z=C'] 例:在生成時使用函式 L = ['Hello', 'World

機器學習各種距離

1. 歐氏距離2. 曼哈頓距離 3. 切比雪夫距離 4. 閔可夫斯基距離 5. 標準化歐氏距離 6. 馬氏距離 7. 夾角餘弦 8. 漢明距離 9. 傑卡德距離 & 傑卡德相似係數 10. 相關係數 & 相關距離 11. 資訊熵===============

Python 學習筆記】各種引數

動態語言好難啊。記一下重點。 【可變引數】可變引數使用 *p 來定義,這時候 p 是一個 tuple。傳入的時候可以直接傳入 f(1,2,3) 也可以使用 f(*tuple/list) 傳入一個可

Python學習遞迴、迭代、生成器、函數語言程式設計的思考

遞迴函式 遞迴函式需要注意防止棧溢位。在計算機中,函式呼叫是通過棧(stack)這種資料結構實現的,每當進入一個函式呼叫,棧就會加一層棧幀,每當函式返回,棧就會減一層棧幀。由於棧的大小不是無限的,所以,遞迴呼叫的次數過多,會導致棧溢位。 解決遞迴呼叫棧溢位的方法是通過尾遞

python學習遇到的幾個報錯

1.d: cd d:\AI-learn-daima\KNN >>>e:\Python34\python.exe import kNN group,labels = kNN.creatDataSet() kNN.myclass([0,0],group

python學習遇到的問題

def contract_str(): index = 8 db_size = 8 new_table_na