Python list与NumPy array 区分详解
时间:2020-12-24 12:52:27|栏目:Python代码|点击: 次
1. 数据类型 type()
#!/usr/bin/env python # -*- coding: utf-8 -*- # Yongqiang Cheng from __future__ import absolute_import from __future__ import print_function from __future__ import division import os import sys sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..') current_directory = os.path.dirname(os.path.abspath(__file__)) import numpy as np # import tensorflow as tf import cv2 import time print(16 * "++--") print("current_directory:", current_directory) PIXEL_MEAN = [123.68, 116.779, 103.939] # R, G, B. In TensorFlow, channel is RGB. In OpenCV, channel is BGR. print("Python list") print("PIXEL_MEAN:", PIXEL_MEAN) print("type(PIXEL_MEAN):", type(PIXEL_MEAN)) print("type(PIXEL_MEAN[0]):", type(PIXEL_MEAN[0]), "\n") PIXEL_MEAN_array = np.array(PIXEL_MEAN) print("NumPy array") print("PIXEL_MEAN_array:", PIXEL_MEAN_array) print("type(PIXEL_MEAN_array):", type(PIXEL_MEAN_array)) print("type(PIXEL_MEAN_array[0]):", type(PIXEL_MEAN_array[0])) print("PIXEL_MEAN_array.dtype:", PIXEL_MEAN_array.dtype)
/usr/bin/python2.7 /home/strong/tensorflow_work/R2CNN_Faster-RCNN_Tensorflow/yongqiang.py --gpu=0 ++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++-- current_directory: /home/strong/tensorflow_work/R2CNN_Faster-RCNN_Tensorflow Python list PIXEL_MEAN: [123.68, 116.779, 103.939] type(PIXEL_MEAN): <type 'list'> type(PIXEL_MEAN[0]): <type 'float'> NumPy array PIXEL_MEAN_array: [123.68 116.779 103.939] type(PIXEL_MEAN_array): <type 'numpy.ndarray'> type(PIXEL_MEAN_array[0]): <type 'numpy.float64'> PIXEL_MEAN_array.dtype: float64 Process finished with exit code 0
2. 数据融合 (data fusion)
#!/usr/bin/env python # -*- coding: utf-8 -*- # Yongqiang Cheng from __future__ import absolute_import from __future__ import print_function from __future__ import division import os import sys sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..') current_directory = os.path.dirname(os.path.abspath(__file__)) import numpy as np # import tensorflow as tf import cv2 import time print(16 * "++--") print("current_directory:", current_directory) PIXEL_MEAN = [123.68, 116.779, 103.939] # R, G, B. In TensorFlow, channel is RGB. In OpenCV, channel is BGR. print("Python list") print("PIXEL_MEAN:", PIXEL_MEAN) print("type(PIXEL_MEAN):", type(PIXEL_MEAN)) print("type(PIXEL_MEAN[0]):", type(PIXEL_MEAN[0]), "\n") PIXEL_MEAN_array = np.array(PIXEL_MEAN) print("NumPy array") print("PIXEL_MEAN_array:", PIXEL_MEAN_array) print("type(PIXEL_MEAN_array):", type(PIXEL_MEAN_array)) print("type(PIXEL_MEAN_array[0]):", type(PIXEL_MEAN_array[0])) print("PIXEL_MEAN_array.dtype:", PIXEL_MEAN_array.dtype, "\n") image_array = np.array( [[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], [[21, 22, 23], [24, 25, 26], [27, 28, 29], [30, 31, 32]]]) print("image_array:", image_array) print("type(image_array):", type(image_array)) print("type(image_array[0]):", type(image_array[0])) print("image_array.dtype:", image_array.dtype, "\n") image_array_fusion = image_array + np.array(PIXEL_MEAN) print("image_array_fusion:", image_array_fusion) print("type(image_array_fusion):", type(image_array_fusion)) print("type(image_array_fusion[0]):", type(image_array_fusion[0])) print("image_array_fusion.dtype:", image_array_fusion.dtype)
/usr/bin/python2.7 /home/strong/tensorflow_work/R2CNN_Faster-RCNN_Tensorflow/yongqiang.py --gpu=0 ++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++-- current_directory: /home/strong/tensorflow_work/R2CNN_Faster-RCNN_Tensorflow Python list PIXEL_MEAN: [123.68, 116.779, 103.939] type(PIXEL_MEAN): <type 'list'> type(PIXEL_MEAN[0]): <type 'float'> NumPy array PIXEL_MEAN_array: [123.68 116.779 103.939] type(PIXEL_MEAN_array): <type 'numpy.ndarray'> type(PIXEL_MEAN_array[0]): <type 'numpy.float64'> PIXEL_MEAN_array.dtype: float64 image_array: [[[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]] [[21 22 23] [24 25 26] [27 28 29] [30 31 32]]] type(image_array): <type 'numpy.ndarray'> type(image_array[0]): <type 'numpy.ndarray'> image_array.dtype: int64 image_array_fusion: [[[124.68 118.779 106.939] [127.68 121.779 109.939] [130.68 124.779 112.939] [133.68 127.779 115.939]] [[144.68 138.779 126.939] [147.68 141.779 129.939] [150.68 144.779 132.939] [153.68 147.779 135.939]]] type(image_array_fusion): <type 'numpy.ndarray'> type(image_array_fusion[0]): <type 'numpy.ndarray'> image_array_fusion.dtype: float64 Process finished with exit code 0