2017-02-08 8 views
0

いくつかの値はDateTimeで、いくつかは単純に年です。私はI = I[:4]の場合、'datetime.datetime' object is not subscriptableというエラーではなく、列をループした後に変数Iの年を取得するようなdatetimeの値をインデックスしたいと思います。基本的には、年ではないdatetimeから、年だけの値を持つ混合intと、年を取得したい日時インスタンスの列に、すべてをドロップしたいと思います。PandasデータフレームのDateTimeをインデックスする方法

答えて

0

私はあなたが何をしようとしているのか正確にはわかりませんが、残念ながら(まだ)コメントを投稿できません。

私は、DataFrameに混在型の列があり、タイプがdatetimeのすべての値をintに変換するとします。

>>> data = [[1, 1990], [2, datetime(1991, 1, 1)]] 
    >>> df = pd.DataFrame(data, columns=['id', 'time']) 
    >>> df 
     id     time 
    0 1     1990 
    1 2 1991-01-01 00:00:00 

あなたはmaplink)は、第2列に変換するために使用することができます:

>>> df.loc[:,'date'] = df.loc[:,'date'].map(lambda x: x.year if isinstance(x, datetime) else x) 
    >>> df 
     id time 
    0 1 1990 
    1 2 1991 
+0

感謝を例として、ここではデータフレームです!これはまさに私が探していたものです。 – Min

関連する問題