熱線電話:13121318867

登錄
首頁大數據時代numpy學得還不錯?來試試這20題?。ㄉ希?/a>
numpy學得還不錯?來試試這20題?。ㄉ希?/h5>
2020-08-27
收藏

作者:劉早起

來源:早起Python

大家好,又到了numpy進階修煉專題。numpy大家應該不陌生了,看了太多的原理講解之后,用刷題來學習是最有效的方法,本文將帶來20個NumPy經典問題,附贈20段實用代碼,拿走就用,建議打開Jupyter Notebook邊敲邊看!

01數據查找

問:如何獲得兩個數組之間的相同元素

輸入

import numpy as np
import pandas as pd
import warnings
warnings.filterwarnings("ignore")
arr1 = np.random.randint(10,6,6)
arr2 = np.random.randint(10,6,6)

答案

arr1 = np.random.randint(10,6,6)
arr2 = np.random.randint(10,6,6)
print("arr1: %s"%arr1)
print("arr2: %s"%arr2)
np.intersect1d(arr1,arr2)

02數據修改

問:如何從一個數組中刪除另一個數組存在的元素

輸入

arr1 = np.random.randint(10,6,6)
arr2 = np.random.randint(10,6,6)

答案:

arr1 = np.random.randint(1,10,10)
arr2 = np.random.randint(1,10,10)
print("arr1: %s"%arr1)
print("arr2: %s"%arr2)
np.setdiff1d(arr1,arr2)

03數據修改

問:如何修改一個數組為只讀模式

輸入:

arr1 = np.random.randint(1,10,10)

答案:

arr1 = np.random.randint(1,10,10)
arr1.flags.writeable = False

04數據轉換

問:如何將list轉為numpy數組

輸入:

a = [1,2,3,4,5]

答案:

a = [1,2,3,4,5]
np.array(a)

05數據轉換

問:如何將pd.DataFrame轉為numpy數組

輸入:

df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]})

答案:

df.values

06數據分析

問:如何使用numpy進行描述性統計分析

輸入:

arr1 = np.random.randint(1,10,10)
arr2 = np.random.randint(1,10,10)

答案:

arr1 = np.random.randint(1,10,10)
arr2 = np.random.randint(1,10,10)

print("arr1的平均數為:%s" %np.mean(arr1))
print("arr1的中位數為:%s" %np.median(arr1))
print("arr1的方差為:%s" %np.var(arr1))
print("arr1的標準差為:%s" %np.std(arr1))
print("arr1,arr的相關性矩陣為:%s" %np.cov(arr1,arr2))
print("arr1,arr的協方差矩陣為:%s" %np.corrcoef(arr1,arr2))

07數據抽樣

問:如何使用numpy進行概率抽樣

arr = np.array([1,2,3,4,5])

輸入:

arr = np.array([1,2,3,4,5])
np.random.choice(arr,10,p = [0.1,0.1,0.1,0.1,0.6])

答案:

08數據創建

問:如何為數據創建副本

輸入:

arr = np.array([1,2,3,4,5])

答案:

#對副本數據進行修改,不會影響到原始數據
arr = np.array([1,2,3,4,5])
arr1 = arr.copy()

09數據切片

問:如何對數組進行切片

輸入:

arr = np.arange(10)

備注:從索引2開始到索引8停止,間隔為2

答案:

arr = np.arange(10)
a = slice(2,8,2)
arr[a] #等價于arr[2:8:2]

10字符串操作

問:如何使用NumPy操作字符串

輸入:

str1 = ['I love']
str2 = [' Python']

答案:

#拼接字符串
str1 = ['I love']
str2 = [' Python']
print(np.char.add(str1,str2))

#大寫首字母
str3 = np.char.add(str1,str2)
print(np.char.title(str3))

以上就是我總結的NumPy經典20題中的10題,你都會嗎?并且每題我都只給出了一種解法,而事實上每題都有多種解法,所以你應該思考是否有更好的思路,下一篇繼續給你列出另外10題哈!


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢