【问题标题】:Extract all time elements from a column从列中提取所有时间元素
【发布时间】:2019-09-26 17:03:39
【问题描述】:

我有一个数据集,其中包含一个名为 ['STime'] 的列,我想用它来创建包含每个时间元素(年、月、日等)的许多列。列值的格式为 2016-04-16 10:12:41。我尝试使用以下方法单独创建一个年份列:

 data['SYear'] = data['SDate'].year

它给了我一个错误:AttributeError: 'Series' object has no attribute 'year'

我该如何解决这个问题?

【问题讨论】:

  • data['SDate'].dt.year?
  • 我想这里可以回答。 stackoverflow.com/q/28133018/2894909
  • 是的,这行得通!我在没有 dt 的单独行上使用它并且它有效。不知道为什么当我尝试将它应用于整个列时它不起作用

标签: python pandas eda


【解决方案1】:

data['SDate']是一个系列,一个系列没有year的属性。但是,您可以通过函数映射系列并将结果保存在新列中,例如:

data['SYear'] = data['SDate'].map(lambda d: d.year)

这会将mapSDate的每个值通过lambda函数生成一个新的Pandas系列,并将其保存在新列中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多