作用
显示Numpy array或者Pandas DataFrame的形状
reshape
行列数重整
import numpy as np
import pandas as pd
arr = np.array([[1,2,3,4,5,6,7,8,9,10]])
print(arr)
# [[ 1 2 3 4 5 6 7 8 9 10]]
print(arr.shape)
# (1, 10)
print(arr.reshape(5,2))
# [[ 1 2]
# [ 3 4]
# [ 5 6]
# [ 7 8]
# [ 9 10]]
df = pd.read_csv('arr.csv',index_col='date')
print(df.shape)
# (10, 5)
print(df.values.reshape(5,10))
# [[27.93 28.18 29.39 40.52 26.26 58.08 50.61 51.62 48.55 54.03]
# [38.67 31.73 57.91 59.23 49.08 45.83 31.48 45.94 71.21 46.53]
# [70.26 55.96 53.81 58.48 43.23 46.61 22.73 45.77 63.63 56.79]
# [49.73 40.47 69.13 55.16 58.71 34.02 42.02 28.75 34.9 26.43]
# [56.64 31.39 43.43 54.65 44.97 57.28 64.21 55.79 68.03 54.16]]
# 定义一个函数add_bag,针对输入的numpy数组(数组元素总个数为8,shape可能为2,4或者4,2等),
# 将输入数组中的每个元素依次加上np.array([1, 2, 3, 4, 5, 6, 7, 8])中的元素,
# 并将结果按照输入数组的shape返回给函数调用者。
#
# 比如当输入为np.array([ [1, 2, 3, 4], [5, 6, 7, 8] ]),
# 返回np.array([ [2, 4, 6, 8], [10, 12, 14, 16] ]);
# 而当输入为np.array([ [1, 2], [3, 4], [5, 6], [7, 8] ]),
# 返回np.array([ [2, 4], [6, 8], [10, 12], [14, 16] ])。
#
# 完成如下函数填空:
bag = np.array([1, 2, 3, 4, 5, 6, 7, 8])
def add_bag(input_array):
shape = input_array.shape
output_oneline = bag + input_array.reshape(1, input_array.size)
return output_oneline.reshape(shape)
print(add_bag(np.array([[1, 2, 3, 4], [5, 6, 7, 8]])))
print(add_bag(np.array([[1, 2], [3, 4], [5, 6], [7, 8]])))