【问题标题】:Pandas - CSV file , how to take Month date from list of int32 columnPandas - CSV 文件,如何从 int32 列列表中获取月份日期
【发布时间】:2021-12-29 10:00:32
【问题描述】:

嘿,伙计们,我正在尝试从日期 col 创建一个新 col,例如:“1/20/21, 5/30/21 .. 11/5/21”,所以我在这里有 2 个选项:1 char , 或 2 个字符,直到得到“/”字符。

all_data['Month'] = all_data['Order Date'].str[0:1]
all_data['Month'] = all_data['Month'].astype('int32')
all_data.head()

这个选项只需要 1-9 个月 .. 没有 10,11,12 。 我试着做:

index = all_data['Order Date'].find('\') # return the index of "/"
all_data['Month'] = all_data['Order Date'].str[0:index]

但它也无法正常工作...出现类型值错误。我怎样才能让它工作?

【问题讨论】:

    标签: python pandas csv


    【解决方案1】:

    我认为这里更简单地将值转换为日期时间,然后使用Series.dt.month

    all_data['Month'] = pd.to_datetime(all_data['Order Date']).dt.month
    

    或者除以/,得到第一个值:

    all_data['Month'] = all_data['Order Date'].str.split('/').str[0].astype(int)
    

    或者在字符串开头和Series.str.extract中的第一个/之前获取数字:

    all_data['Month'] = all_data['Order Date'].str.extract('^(\d+)/').astype(int)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多