[解決済み] データ型「datetime64[ns]」と「<M8[ns]」との違い?
質問内容
pandasでTimeSeriesを作成しました。
In [346]: from datetime import datetime
In [347]: dates = [datetime(2011, 1, 2), datetime(2011, 1, 5), datetime(2011, 1, 7),
.....: datetime(2011, 1, 8), datetime(2011, 1, 10), datetime(2011, 1, 12)]
In [348]: ts = Series(np.random.randn(6), index=dates)
In [349]: ts
Out[349]:
2011-01-02 0.690002
2011-01-05 1.001543
2011-01-07 -0.503087
2011-01-08 -0.622274
2011-01-10 -0.921169
2011-01-12 -0.726213
Python for Data Analysis」の例を参考にしています。
次の段落では、インデックスの種類を確認しています。
In [353]: ts.index.dtype
Out[353]: dtype('datetime64[ns]')
コンソールで全く同じ操作をすると、次のようになります。
ts.index.dtype
dtype('<M8[ns]')
2つのタイプの違いは何ですか?
'datetime64[ns]'
と
'<M8[ns]'
?
また、なぜ違うタイプが表示されるのですか?
解決方法は?
datetime64[ns]
は一般的なデータ型であるのに対し
<M8[ns]
は特定のデータ型です。一般的な型は特定の型に対応するが、NumPyのインストールごとに異なる可能性がある。
バイトオーダーがリトルエンディアンのマシン上では、以下のような違いはありません。
np.dtype('datetime64[ns]')
と
np.dtype('<M8[ns]')
:
In [6]: np.dtype('datetime64[ns]') == np.dtype('<M8[ns]')
Out[6]: True
しかし、ビッグエンディアンのマシンでは
np.dtype('datetime64[ns]')
と同じになります。
np.dtype('>M8[ns]')
.
だから
datetime64[ns]
はどちらかにマッピングされます。
<M8[ns]
または
>M8[ns]
は、マシンのエンディアン性に依存します。
一般的なdtypesが特定のdtypesにマッピングされる同様の例は他にもたくさんあります。
int64
は
<i8
または
>i8
であり、かつ
int
はどちらかにマッピングされます。
int32
または
int64
は、OS のビット・アーキテクチャと NumPy のコンパイル方法に依存する。
どうやら、この本が書かれた当時から、datetime64というd型のエンディアン性を示すreprが変更されているようです。
関連
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] 0から9までのランダムな整数を生成する
-
[解決済み] リストにおけるdel、remove、popの違いについて
-
[解決済み] リストとタプルの違いは何ですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenvなどの違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Pythonの@decoratorsについてまとめてみました。
-
Python Pillow Image.save jpg画像圧縮問題
-
PythonでECDSAを実装する方法 知っていますか?
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。