2017-11-15 7 views
0

私は、次のコードを使用して列を計算:Pythonのデータフレーム:計算日数フィールドからタイムスタンプを削除

df_EVENT5_5['age'] = dt.datetime.now().date() - df_EVENT5_5['dt_old'] 
    df_EVENT5_5['age_no_days'] = df_EVENT5_5['age'].dt.total_seconds()/ (24 * 60 * 60) 

出力列には、何らかの理由でタイムスタンプが含まれています。

enter image description here

どのようにしてタイムスタンプを削除するには?

私は以下を試みたが、うまくいきませんでした:

remove_timestamp_col = ['COL_1', 'COL_2'] 

    for i in remove_timestamp_col: 
     df_EVENT5_13[i] = df_EVENT5_13[i].age.days() 

答えて

0

私は日付のみを引いてみてください、データのタイムスタンプを持ついくつかの日付があるかもしれないと思う:

df_EVENT5_5['age'] = dt.date.today() - df_EVENT5_5['dt_old'].apply(dt.datetime.date) 
#This gives you the days difference as a number 
df_EVENT5_5['age_no_days'] = df_EVENT5_5['age'].dt.days 
#If you want it to have 'Days' in the end, you can use concatenation: 
df_EVENT5_5['age_with_days'] = df_EVENT5_5['age_no_days'].astype('str') + ' Days' 
+0

が働いていました!ありがとうございました – PineNuts0

+0

Excelにテーブルを書き出すと、セルの値にタイムスタンプが表示されます。 – PineNuts0

+0

コードを少し修正しました。私は 'total_seconds()'の代わりに 'days'属性を呼び出して数字の日数を指定しています。次に、 'days'という単語と連結してあなたが望む表現。 –

関連する問題