我有一个包含dates
的列,可能看起来像2017-10-12
。我想创建一个包含day
的新列,在我的例子中,它将是两个-
之间的数字。我尝试了各种.str.extract()
查询,但我似乎无法做到正确。
df['days'] = df['dates'].str.extract('(-*)')
任何提示?
答案 0 :(得分:4)
使用split
并按str[1]
选择第二个列表:
df['days'] = df['dates'].str.split('-').str[1]
或to_datetime
格式参数+ dt.day
:
df['days'] = pd.to_datetime(df['dates'], format='%Y-%d-%m').dt.day