astype() 関数は Python の強力なメソッドで、主に pandas ライブラリで DataFrame または Series 内の列またはデータセットを特定のデータ型に変換するために使用されます。 NumPy では、配列要素を別の型にキャストするために使用することもできます。
astype() 関数は、pandas オブジェクト (Series や DataFrame など) または NumPy 配列のデータ型を別の型にキャストするために使用されます。
DataFrame.astype(dtype, copy=True, errors='raise')
ndarray.astype(dtype, order='K', casting='unsafe', subok=True, copy=True)
データの変換先となるターゲットのデータ型。これは、
を使用して指定できます。import pandas as pd # Example DataFrame df = pd.DataFrame({'A': ['1', '2', '3'], 'B': [1.5, 2.5, 3.5]}) # Convert column 'A' to integer df['A'] = df['A'].astype(int) print(df.dtypes)
出力:
A int64 B float64 dtype: object
# Convert multiple columns df = df.astype({'A': float, 'B': int}) print(df.dtypes)
出力:
DataFrame.astype(dtype, copy=True, errors='raise')
ndarray.astype(dtype, order='K', casting='unsafe', subok=True, copy=True)
出力:
import pandas as pd # Example DataFrame df = pd.DataFrame({'A': ['1', '2', '3'], 'B': [1.5, 2.5, 3.5]}) # Convert column 'A' to integer df['A'] = df['A'].astype(int) print(df.dtypes)
A int64 B float64 dtype: object
出力:
# Convert multiple columns df = df.astype({'A': float, 'B': int}) print(df.dtypes)
A float64 B int64 dtype: object
出力:
df = pd.DataFrame({'A': ['1', 'two', '3'], 'B': [1.5, 2.5, 3.5]}) # Attempt conversion with errors='ignore' df['A'] = df['A'].astype(int, errors='ignore') print(df)
A B 0 1 1.5 1 two 2.5 2 3 3.5
出力:
import numpy as np # Example array arr = np.array([1.1, 2.2, 3.3]) # Convert to integer arr_int = arr.astype(int) print(arr_int)
[1 2 3]
最適化前 (元のメモリ使用量):
arr = np.array([1.1, 2.2, 3.3]) # Attempt an unsafe conversion try: arr_str = arr.astype(str, casting='safe') except TypeError as e: print(e)
最適化後 (メモリ使用量の最適化):
Cannot cast array data from dtype('float64') to dtype('<U32') according to the rule 'safe'
元のメモリ使用量:
最適化されたメモリ使用量:
df = pd.DataFrame({'A': ['2022-01-01', '2023-01-01'], 'B': ['True', 'False']}) # Convert to datetime and boolean df['A'] = pd.to_datetime(df['A']) df['B'] = df['B'].astype(bool) print(df.dtypes)
errors='ignore' によるサイレント エラー: 変換がサイレントに失敗する可能性があるため、注意して使用してください。
精度の損失: 高精度の型 (例: float64) から低精度の型 (例: float32) への変換。
A datetime64[ns] B bool dtype: object
出力:
import pandas as pd # Original DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [1.1, 2.2, 3.3]}) print("Original memory usage:") print(df.memory_usage()) # Downcast numerical types df['A'] = df['A'].astype('int8') df['B'] = df['B'].astype('float32') print("Optimized memory usage:") print(df.memory_usage())
Index 128 A 24 B 24 dtype: int64
出力:
DataFrame.astype(dtype, copy=True, errors='raise')
astype() 関数は、pandas と NumPy の両方でデータ型を変換するための多用途ツールです。これにより、キャスト動作、メモリの最適化、エラー処理をきめ細かく制御できます。 pandas のエラーや NumPy のキャストなどのパラメーターを適切に使用すると、堅牢で効率的なデータ型変換が保証されます。
以上がPythonのastype()関数とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。