python数据分析面试_python数据分析面试
1. 如何利用SciKit包訓練一個簡單的線性回歸模型
利用linear_model.LinearRegression()函數
# Create linear regression object
regr = linear_model.LinearRegression()
# Train the model using the training sets
regr.fit(data_X_train, data_y_train)
2. 例舉幾個常用的python分析數據包及其作用
數據處理和分析:NumPy, SciPy, Pandas
機器學習:SciKit
可視化: Matplotlib, Seaborn
3. 如何利用Numpy對數列的前n項進行排序
使用argsort()函數:x[x [: n-1].argsort ()]
4. 如何檢驗一個數據集或者時間序列是隨機分布的
畫lag plot(Correlogram:相關圖),如果圖上的點呈散亂分布,則為隨機
5. 在python中如何創建包含不同類型數據的dataframe
利用pandas包的DataFrame函數的serias創建列然后用dtype定義類型:
df = pd.DataFrame({'x': pd.Series(['1.0', '2.0', '3.0'], dtype=float), 'y': pd.Series(['1', '2', '3'], dtype=int)})
6. Pandas中使用的標準數據缺失標志是什么
NaN
7. 描述numpy array比python list的優勢
a. numpy array比python list更緊湊,存儲數據占的空間小,讀寫速度快。(這是由于python list儲存的是指向對象(至少需要16個字節)的指針(至少4個字節);而array中儲存的是單一變量(比如單精度浮點數為4個字節,雙精度為8))
b. array可以直接使用vector和matrix類型的處理函數,非常方便。
8. 如何檢驗numpy的array為空
使用size函數, 比如
a = np.array([])
print a.size # 0
9. 如何檢驗pandas dataframe為空?
使用empty函數
10.如何對list中的item進行隨機重排
使用shuffle()函數
10.裝飾器的作用
裝飾器可用于修飾函數或類。通過裝飾器可以包裹函數或類使之執行之前或之后調用裝飾器函數,從而達到抽離出大量函數中與函數功能本身無關的雷同代碼并繼續重用的目的。比較經典的廚力場景有檢驗權限,追蹤參數,日志登陸等
11.以下代碼的輸出?
def multipliers():
return [lambda x: i * x for i in range(4)]
print [m(2) for m in multipliers()]
輸出為[6,6,6,6]。 這個的原因是 Python 的閉包的后期綁定導致的 late binding,這意味著在閉包中的變量是在內部函數被調用的時候被查找。所以結果是,當任何 multipliers() 返回的函數被調用,在那時,i 的值是在它被調用時的周圍作用域中查找,到那時,無論哪個返回的函數被調用,for 循環都已經完成了,i 最后的值是 3,因此,每個返回的函數 multiplies 的值都是 3。因此一個等于 2 的值被傳遞進以上代碼,它們將返回一個值 6 (比如: 3 x 2)。
11.如何處理缺失數據?(如果缺失的數據不可得,將采用何種手段收集?)
首先判斷缺失數據是否有意義,如果沒有意義或者缺失數據的比例超過80%直接去掉。
如果缺失數據有規律,則需根據其變化規律來推測次缺失值;
如果數據沒有規律,則用其他值代替:
如果數據符合正態分布,缺失值用期望值代替
如果數據是類型變量,則用默認類型值代替缺失值
總結
以上是生活随笔為你收集整理的python数据分析面试_python数据分析面试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql通过参数文件启动_mysql启
- 下一篇: sqlserver mysql 乱码_S