pandas 从日期时间np.数组中删除nan:从datetime列中提取的具有唯一值的数组

6kkfgxo0  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(120)

我有下面的列表有两个值一个是datetime.datetime(2018-06-18)和另一个NaN。都是从日期时间列提取的唯一值。我只想列表只包含日期。

  1. # extracting date from datetime column
  2. main_df['date'] = main_df.DateTime.dt.date
  3. # getting only unique values from date column
  4. agg_hos = main_df['date'].unique()
  5. # output is
  6. array([datetime.date(2018, 6, 18), NaT], dtype=object)

要从列表中删除nan,请尝试来自站点remove nan values from np array的其他ans

  1. # desired output
  2. array([datetime.date(2018, 6, 18)], dtype=object)

怎么做呢?

vtwuwzda

vtwuwzda1#

可以使用pd.isnull检查(借用this answer):

  1. import datetime
  2. import numpy as np
  3. import pandas as pd
  4. # np.isfinite(pd.NaT), np.isnan(pd.NaT)
  5. # -> TypeError !
  6. arr = np.array([datetime.date(2018, 6, 18), pd.NaT])
  7. arr = arr[~pd.isnull(arr)]
  8. # array([datetime.date(2018, 6, 18)], dtype=object)

相关问题