【问题标题】:How to fill null value in datetime column in python?如何在python的日期时间列中填充空值?
【发布时间】:2021-05-18 07:27:52
【问题描述】:

样本数据:

EmployeeId     city       Datetime
0   001        Mumbai     2015-12-11                       
1   001        Bangalore  2016-02-15
2   002        Pune       2016-01-26
3   002        Mumbai       NaN
4   003        Delhi      2015-04-29
5   003        Mumbai       NaN
6   004        Bangalore    NaN
7   004        Pune       2016-01-25
8   005        Mumbai     2015-12-13

预期输出:

   EmployeeId         city       Datetime

    0   001        Mumbai     2015-12-11                       
    1   001        Bangalore  2016-02-15
    2   002        Pune       2016-01-26
    3   002        Mumbai     2015-12-16
    4   003        Delhi      2015-04-29
    5   003        Mumbai     2015-12-13
    6   004        Bangalore  2016-01-17
    7   004        Pune       2016-01-25
    8   005        Mumbai     2015-12-13
  1. 如何在日期时间列中填充 Nan 值?

  2. 需要考虑 City 列来填充 datetime 中的空值。

从示例中获取孟买的起始城市和日期时间,并填写孟买的日期时间空值。 其他城市也一样。

我们该怎么做?

【问题讨论】:

  • 你能定义平均日期时间吗?平均相对于什么?
  • 你能从样本数据中添加预期的输出吗?
  • 我的第一步需要在日期时间列中填充空值@jezrael
  • @ManojKumar - 好的,你能添加预期输出的外观吗?我认为 DataFrame 由日期时间填充而没有缺失值,我对填充的数字感兴趣。
  • 需要考虑特定城市的日期时间,并在日期时间中填写南值,不包括其他城市的日期时间。 @Manakin

标签: python-3.x pandas missing-data


【解决方案1】:

您可以执行以下操作:

pairs = data[["city", "Datetime"]].dropna().to_dict()
fill_values = dict(zip(pairs['city'].values(), pairs['Datetime'].values()))
data.Datetime = data.apply(lambda d: fill_values[d.city] if d.Datetime is np.nan else d.Datetime, axis=1)
print(data)
  1. 获取城市和日期时间并删除所有具有 nan 值的行。
  2. 将其转换为 dict 以创建下一个 dict 元素。
  3. 创建以城市为键、日期时间为值的查找字典。
  4. 遍历所有行并检查是否需要替换日期时间。
  5. 将生成的系列/列表分配给目标列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    相关资源
    最近更新 更多