Cet article vous apporte des connaissances pertinentes sur Python, qui organise principalement les problèmes liés aux types de données numpy, y compris les types de données de base de numpy, les types de données composites personnalisés numpy, l'utilisation de ndarray pour enregistrer les types de données de date, etc. contenu ci-dessous, j’espère qu’il sera utile à tout le monde.
【Recommandation associée : Tutoriel vidéo Python3】
Nom du type | Indicateur de type |
---|---|
Booléen | bool |
Type entier signé | int8/int16/int32/int64 |
Type entier non signé | uint8/uint16/uint32/uint64 |
Type à virgule flottante | float 16/flo at32/float64 |
Pluriel type | complex64 / complex128 |
Type de caractère | str, chaque caractère est représenté par un codage Unicode 32 bits |
import numpy as np arr = np.array([1, 2, 3]) print(arr, arr.dtype) arr = arr.astype('int64') print(arr, arr.dtype) arr = arr.astype('float32') print(arr, arr.dtype) arr = arr.astype('bool') print(arr, arr.dtype) arr = arr.astype('str') print(arr, arr.dtype)
import numpy as np data = [ ('zs', [99, 98, 90], 17), ('ls', [95, 95, 92], 16), ('ww', [97, 92, 91], 18) ] # 姓名 2 个字符 # 3 个 int32 类型的成绩 # 1 个 int32 类型的年龄 arr = np.array(data, dtype='2str, 3int32, int32') print(arr) print(arr.dtype) # 可以通过索引访问 print(arr[0], arr[0][2])
Lorsque la quantité de données est importante, la méthode ci-dessus n'est pas pratique pour accéder aux données.
. Lorsque vous accédez aux données, vous pouvez y accéder via des index d'indice ou via des noms de colonnes.ndarray fournit des types de données et des alias de colonnes qui peuvent être définis sous la forme de
dictionnaires ou de listes
import numpy as np data = [ ('zs', [99, 98, 90], 17), ('ls', [95, 95, 92], 16), ('ww', [97, 92, 91], 18)]# 采用字典定义列名和元素的数据类型arr = np.array(data, dtype={ # 设置每列的别名 'names': ['name', 'scores', 'age'], # 设置每列数据元素的数据类型 'formats': ['2str', '3int32', 'int32']})print(arr, arr[0]['age'])# 采用列表定义列名和元素的数据类型arr = np.array(data, dtype=[ # 第一列 ('name', 'str', 2), # 第二列 ('scores', 'int32', 3), # 第三列 ('age', 'int32', 1)])print(arr, arr[1]['scores'])# 直接访问数组的一列print(arr['scores'])
3. Utilisez ndarray pour enregistrer le type de données de date
import numpy as np dates = [ '2011', '2011-02', '2011-02-03', '2011-04-01 10:10:10' ] ndates = np.array(dates) print(ndates, ndates.dtype) # 数据类型为日期类型,采用 64 位二进制进行存储,D 表示日期精确到天 ndates = ndates.astype('datetime64[D]') print(ndates, ndates.dtype) # 日期运算 print(ndates[-1] - ndates[0])Copier après la connexion
1. La prise en charge de la chaîne de date ne prend pas en charge2. Il doit y avoir un espace entre la date et l'heure pour séparer2011/11/11
, utilisez des espaces pour séparé La date ne prend pas en charge2011 11 11
, mais prend en charge2011-11-11
2011-04-01 10 :10:10
3. Format d'écriture de l'heure10:10:10
4. Tapez le code de caractère (abréviation du type de données)
2011/11/11
,使用空格进行分隔日期也不支持2011 11 11
,支持2011-11-11
2.日期与时间之间需要有空格进行分隔2011-04-01 10:10:10
3.时间的书写格式10:10:10
Indicateur de type | Code de caractère | |
---|---|---|
bool | ? | |
int8 /int1 6/int32/int64 | i1/ i2/ i4/i8 | |
uint8/uint16/uint32/uint64 | u1/u2/u4/u8 | |
float16/float32/float64 | f2 /f4 / f8 | |
c8 / c16 | Type de caractère | |
U | Date | |
M8[ Y] / M8[M ] / M8[D] / M8[h] / M8[m] / M8[s] | import numpy as np data = [ ('zs', [99, 98, 90], 17), ('ls', [95, 95, 92], 16), ('ww', [97, 92, 91], 18) ] # 采用字典定义列名和元素的数据类型 arr = np.array(data, dtype={ # 设置每列的别名 'names': ['name', 'scores', 'age'], # 设置每列数据元素的数据类型 'formats': ['2U', '3i4', 'i4'] }) print(arr) print(arr[1]['scores']) print(arr['scores']) print(arr.dtype) Copier après la connexion |
5. Cas
Sélectionnez les champs, utilisez les données du magasin ndarray.
import numpy as np datas = [ (0, '4室1厅', 298.79, 2598, 86951), (1, '3室2厅', 154.62, 1000, 64675), (2, '3室2厅', 177.36, 1200, 67659),]arr = np.array(datas, dtype={ 'names': ['index', 'housetype', 'square', 'totalPrice', 'unitPrice'], 'formats': ['u1', '4U', 'f4', 'i4', 'i4']})print(arr)print(arr.dtype)# 计算 totalPrice 的均值sum_totalPrice = sum(arr['totalPrice'])print(sum_totalPrice/3)
Tutoriel vidéo Python3 ]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!