1. 程式人生 > >Python資料分析與展示 | 課程綜合測試(客觀題)

Python資料分析與展示 | 課程綜合測試(客觀題)

1單選(1分)
一般說,numpy-matplotlib-pandas是資料分析和展示的一條學習路徑,哪個是對這三個庫不正確的說明?
A.pandas僅支援一維和二維資料分析,多維資料分析要用numpy
B.matplotlib支援多種資料展示,使用pyplot子庫即可
C.numpy底層採用C實現,因此,執行速度很快
D.pandas也包含一些資料展示函式,可不用matplotlib

正確答案:A

2單選(1分)
在使用numpy繪製圖像手繪效果的例項中,關於使用畫素間梯度值,如下哪個說法是正確的?
A.梯度值是顏色值的灰度表示
B.梯度值是顏色值的一維表示,顏色越相近梯度值越大
C.梯度值用於表示顏色值在RGB維度上資料的相關關係
D.梯度值用於表示顏色間差距,相似顏色趨近於白色

正確答案:D

3單選(1分)
下面兩段程式碼,哪個說法不正確?

import numpy as np
a = np.array([0, 1, 2, 3, 4])
import pandas as pd
b = pd.Series([0, 1, 2, 3, 4])

A.a和b是不同的資料型別,之間不能直接運算
B.a和b表達同樣的資料內容
C.a和b都是一維資料
D.a參與運算的執行速度明顯比b快

正確答案:D

4單選(1分)
哪個選項更能代表如下程式碼的執行結果?

import numpy as np
x = np.array([ [ 0, 1, 2, 3, 4], [9
, 8, 7, 6] ]) x.dtype()

A.float32型別
B.int32型別
C.uint32型別
D.object型別

正確答案:D

5單選(1分)
Python基本語法僅支援整數、浮點數和複數型別,numpy和pandas庫則支援int64/int32/int16/int8等20餘種數字型別,如下說法哪個不正確?
A.科學計算可能涉及很多資料,對儲存和效能有較高要求,因此支援更多種數字型別。
B.numpy底層是C語言實現,因此,天然支援了多種資料型別。
C.程式設計師必須精確指定資料型別,因此,會給程式設計帶來一定負擔
D.對元素型別精確定義,有助於numpy和pandas庫更合理優化儲存空間。

正確答案:C

6單選(1分)
如下哪個程式碼不能生成一個ndarray物件?
A.a = np.array([0, 1, 2, 3, 4])
B.a = np.array({0:0,1:1,2:2,3:3,4:4})
C.a = np.array((0, 1, 2, 3, 4)
D.a = np.array(0, 1, 2, 3, 4)

正確答案:D

7單選(1分)
如下哪個語句能夠生成一個n*n的正方形矩陣,對角線值為1,其餘位置值為0。
A.np.zeros((n,n))
B.np.eye(n)
C.np.full((n,n),1)
D.np.ones((n,n))

正確答案:B

8單選(1分)
哪個是下面程式碼的執行結果?

import numpy as np
a = np.arange(12).reshape((3,4))
print(a.mean())

A.[4, 5, 6, 7]
B.16.5
C.5.5
D.[1.5, 5.5, 9.5]

正確答案:C

9單選(1分)
如下程式碼中plt的含義是什麼?

import matplotlib.pyplot as plt

A.別名
B.類名
C.函式名
D.變數名

正確答案:A

10單選(1分)
閱讀下面程式碼:

import matplotlib.pyplot as plt
plt.plot([9, 7, 15, 2, 9])
plt.savefig('test', dpi=600)

其中,savefig()函式的作用是什麼?
A.將資料圖儲存成檔案
B.記錄並存儲資料
C.重新整理資料
D.顯示所繪製的資料圖

正確答案:A

11單選(1分)
閱讀下面程式碼:

import matplotlib.pyplot as plt
plt.plot([9, 7, 15, 2, 9])
plt.show()

其中,show()函式的作用是什麼?
A.顯示所繪製的資料圖
B.儲存所繪製的資料圖
C.快取所繪製的資料圖
D.重新整理所繪製的資料圖

正確答案:A

12單選(1分)
閱讀如下程式碼:

import pandas as pd
s = pd.Series(10, index=['a', 'b', 'c']

關於變數s,哪個說法是不正確的?
A.如果index部分省略,預設生成的索引是0, 1, 2
B.s是一個一維陣列
C.s中元素的索引分別是’a’, ‘b’, ‘c’
D.s中每個元素的值是10

正確答案:A

13單選(1分)
閱讀如下程式碼:

import pandas as pd
a = pd.Series([9, 8, 7, 6], index=['a', 'b', 'c', 'd'])

哪個是print(a.index)的結果?
A.[9, 8, 7, 6]
B.[‘a’, ‘b’, ‘c’, ‘d’]
C.(‘a’, ‘b’, ‘c’, ‘d’)
D.Index([‘a’, ‘b’, ‘c’, ‘d’])

正確答案:D

14單選(1分)
閱讀如下程式碼:

import pandas as pd
dt = {'one': [9, 8, 7, 6], 'two': [3, 2, 1, 0]}
a = pd.DataFrame(dt)

哪個是print(a.values)的結果?
A.[[9 8 7 6] [3 2 1 0]]
B.[3, 2, 1, 0]
C.[[9 3]
[8 2]
[7 1]
[6 0]]
D.[9, 8, 7, 6]

正確答案:C

15單選(1分)
閱讀如下程式碼:

import pandas as pd
dt = {'one': [9, 8, 7, 6], 'two': [3, 2, 1, 0]}
a = pd.DataFrame(dt)

希望獲得[‘one’, ‘two’],使用如下哪個語句?
A.a.index
B.a.row
C.a.values
D.a.columns

正確答案:D

16單選(1分)
閱讀如下程式碼:

import pandas as pd
dt = {'one': [9, 8, 7, 6], 'two': [3, 2, 1, 0]}
a = pd.DataFrame(dt)

希望獲得[3, 2, 1, 0],使用如下哪個語句?
A.a.ix[1]
B.a.index[1]
C.a.colums[1]
D.a[1]

正確答案:D

17單選(1分)
閱讀如下程式碼:

import pandas as pd
dt = {'one': [9, 8, 7, 6], 'two': [3, 2, 1, 0]}
a = pd.DataFrame(dt)

請問,哪個關於a.reindex()的說法是正確的?
A.a中部分列的值可能被修改
B.a中部分行的值可能修改
C.a中部分索引可能被修改
D.a的值不改變

正確答案:D

18單選(1分)
pandas庫中Series物件的索引表示類似:Index([5, 4, 3, 2, 1], dtype=’int’),如下哪個說法是不正確的?
A.Index()表示這是一個Index型別
B.’int’說明各元素是整數型別
C.dtype表示Index型別中各元素的資料型別
D.5, 4, 3, 2, 1是Index的五個元素,這是一個五維資料

正確答案:D

19單選(1分)
下面關於Series和DataFrame的理解,哪個是不正確的?
A.DataFrame表示帶索引的二維資料
B.Series和DataFrame之間不能進行運算
C.Series表示帶索引的一維資料
D.可以像對待單一資料一樣對待Series和DataFrame物件

正確答案:B

20單選(1分)
Series和DataFrame型別中的.cumsum()方法,下面哪個說法是正確的?
A.計算全部元素的個數
B.計算全部元素的和
C.依次計算第n-1和第n個元素的和
D.依次計算前1、2、…、n個元素的和

正確答案:D

21填空(2分)
請補全如下程式碼,修改陣列a的維度。

import numpy as np
a = np.ones((2, 3, 4), dtype=np.int32)
a.______((3, 8))

正確答案:resize

22填空(2分)
請補全如下程式碼,交換陣列a的兩個維度,生成新的陣列b。

import numpy as np
a = np.arange(12).reshape((3,4))
b = a.______(0, 1)

正確答案:swapaxes

3填空(2分)
請補全如下程式碼,修改陣列a的型別為整數。

import numpy as np
a = np.arange(12, dtype=np.float).reshape((3,4))
a = a.________(np.int)

正確答案:astype

24填空(2分)
請補全如下程式碼,隨機生成一個(3, 4)維的隨機陣列,每個值隨機產生。

import numpy as np
a = np.random.______(100, 200, (3, 4))

正確答案:randint
25填空(2分)
請閱讀如下程式碼:

import numpy as np
a = np.array([10, 8, 15, 6, 1])
np.gradient(a)

上述程式碼的執行結果是:
[-2. _ -1. -7. -5.]

正確答案:2.5

26填空(2分)
補全如下程式碼,調整變數a中第2行和第3行,使這兩行交換:

import pandas as pd
dt = {'one': [9, 8, 7, 6], 'two': [3, 2, 1, 0]}
a = pd.DataFrame(dt)
a = a.reindex( _______ = (2, 3))

正確答案:index

27填空(2分)
補全如下程式碼,對生成的變數a在0軸上進行升序排列。

import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(20).reshape(4,5), index = ['z', 'w', 'y', 'x'])
a.____________()

正確答案:sort_index

28填空(2分)
補全如下程式碼,對生成的變數a在1軸上進行降序排列。

import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(20).reshape(4,5), index = ['z', 'w', 'y', 'x'])
a.____________(axis=1, ascending=False)

正確答案:sort_index

29填空(2分)
補全如下程式碼,對生成的變數a在第2列上進行數值升序排列。

import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(20).reshape(4,5), index = ['z', 'w', 'y', 'x'])
a.____________(2)

正確答案:sort_values

30填空(2分)
補全如下程式碼,列印其中非NaN變數的數量。

import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(20).reshape(4,5))
b = pd.DataFrame(np.arange(16).reshape(4,4))
print((a+b).______())

正確答案:count