この記事では、Python に関する関連知識を提供します。主に、numpy の基本データ型、numpy カスタム複合データ型、日付データ型を保存する ndarray の使用法など、numpy データ型に関連する問題を整理します。 . 見ていきましょう、皆さんの参考になれば幸いです。
[関連する推奨事項: Python3 ビデオ チュートリアル ]
タイプ名 | タイプインジケーター |
---|---|
ブール値 | bool |
符号付き整数型 | int8 / int16 / int32 / int64 |
符号なし整数型 | uint8 / uint16 / uint32 / uint64 |
Float 型 | float16 / float32 / float64 |
複合型 | complex64 / complex128 |
str、各文字は32ビットUnicodeエンコードで表されます |
2. numpy カスタム複合データ型オブジェクト型を ndarray に保存したい場合は、numpy が推奨します
保存にはタプルを使用するオブジェクトの属性フィールド値を取得し、タプルを ndarray に追加します。ndarray は、これらのデータの処理を容易にする構文を提供します。
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])
データ量が多い場合、上記の方法はデータアクセスに不便です。ndarray は、
辞書またはリスト の形式で定義できるデータ型と列の別名を提供します。データにアクセスするときは、添字インデックスまたは列名を使用してデータにアクセスできます。
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. ndarray を使用して日付データ型を保存します
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])
1. 日付文字列は4. 型文字コード(データ型の略称)numpyは処理する型文字コードを提供します。データ型をより便利に。2011/11/11
をサポートしておらず、日付を区切るためのスペースの使用は
2011 11 11をサポートしていませんが、
2011-11 がサポートされています。 -112. 日付と時刻を区切るにはスペースが必要です。
2011-04-01 10:10:103 . 時刻の記述形式
10: 10:10
タイプインジケータ | 文字コード | |
---|---|---|
? | 符号付き整数型 | |
i1 / i2 / i4 / i8 | 符号なし整数型 | |
u1 / u2 / u4 / u8 | ##浮動小数点型 | |
f2 / f4 / f8 | 複合型 | |
c8 / c16 | 文字型 | |
Date | datatime64 | |
5. Caseフィールドを選択し、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)
[関連する推奨事項:
]
以上がPython データ型の概要 - numpyの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。