【问题标题】:Creating days from date in pandas dataframe在熊猫数据框中从日期开始创建天数
【发布时间】:2018-01-25 15:54:14
【问题描述】:

我正在尝试从日期开始查找天数并为天数创建新列。 我写了这段代码:

for d in df['Date']:
df['Day'].append(days[calendar.weekday(int(d.strftime('%Y')),int(d.strftime('%m')),int(d.strftime('%d')))])

但这会报错:

TypeError:无法连接类型为“”的对象;只有 pd.Series、pd.DataFrame 和 pd.Panel(已弃用)obj 有效

【问题讨论】:

  • 你的日期格式是什么?可能一个小的 sn-p 会有所帮助
  • 你能举例说明你的数据和期望的输出吗?

标签: python pandas


【解决方案1】:
df['Day'] = [int(i.day) for i in pd.to_datetime(df['Date'])]

【讨论】:

    【解决方案2】:

    如果df['A'] 是您的第一个日期,df['B'] 是您的第二个日期,您可以创建一个新列来显示日期差异:

    df['C'] = df['A'] - df['B']

    【讨论】:

      【解决方案3】:

      找到了解决办法。

      df['Day'] = df['Date'].dt.weekday_name
      

      【讨论】:

      • 只有当df['Date'] 已经是datetimelike 类型时,否则你需要首先考虑它是否是一个字符串列。如果是,您将使用df.Date = pd.to_datetime(df.Date) 进行转换
      猜你喜欢
      • 1970-01-01
      • 2020-12-30
      • 2021-07-11
      • 2021-12-29
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多