使用 Python 3 Pandas,花费大量时间试图弄清楚如何从 CSV 中获取一列日期并仅使用 MM/YYYY 或 YYYY/MM/01 创建一个新列。
数据看起来像 Col1,但我正在尝试生成 Col2:
Col1 Col2
2/12/2017 2/1/2017
2/16/2017 2/1/2017
2/28/2017 2/1/2017
3/2/2017 3/1/2017
3/13/2017 3/1/2017
我能够解析年份和月份:
df['Month'] = pd.DatetimeIndex(df['File_Processed_Date']).month
df['Year'] = pd.DatetimeIndex(df['File_Processed_Date']).year
df['Period'] = df['Month'] + '/' + df['Year']
最后一行是错误的。是否有一种聪明的 python 方式来显示 2/2017?
得到错误:“TypeError:ufunc'add'没有包含签名匹配类型dtype的循环('
更新,由 piRsquared 回答:
d = pd.to_datetime(df.File_Processed_Date)
df['Period'] = d.dt.strftime('%m/1/%Y')
这将在将 Col1 成功转换为 Col2 的数据框中创建一个 pandas 列。谢谢!