1 つのデータ フレーム列の dtype を変更したい (datetime64 から object に)。
まず、データ フレームを作成します。
Python 2.6.8 (unknown, Jan 26 2013, 14:35:25)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>> values = pd.Series(i for i in range(5))
>>> dates = pd.date_range('20130101',periods=5)
>>> df = pd.DataFrame({'values': values, 'dates': dates})
>>> df
/usr/local/lib/python2.6/dist-packages/pandas/core/config.py:570: DeprecationWarning: height has been deprecated.
warnings.warn(d.msg, DeprecationWarning)
dates values
0 2013-01-01 00:00:00 0
1 2013-01-02 00:00:00 1
2 2013-01-03 00:00:00 2
3 2013-01-04 00:00:00 3
4 2013-01-05 00:00:00 4
2 つの列があります。1 つは datetime64 で、もう 1 つは int64 dtype です。
>>> df.dtypes
dates datetime64[ns]
values int64
dtype: object
パンダのドキュメントで、シリーズを任意の dtype に変換する方法を見つけました。それは私が必要とするもののように見えます:
>>> df['dates'].astype(object)
0 2013-01-01 00:00:00
1 2013-01-02 00:00:00
2 2013-01-03 00:00:00
3 2013-01-04 00:00:00
4 2013-01-05 00:00:00
Name: dates, dtype: object
しかし、このシリーズをデータフレーム列として割り当てると、datetime64 dtype が再び取得されました。
>>> df['dates'] = df['dates'].astype(object)
>>> df.dtypes
dates datetime64[ns]
values int64
dtype: object
助けてください。データフレームの列をオブジェクトdtypeに変換するには? ありがとう。