将pandas栏“一年中的天”转换为datetime(%m-%d)?

时间:2018-09-26 23:36:51

标签: python pandas datetime

假设我有一个Pandas DataFrame,其中的一列是一年中的天数(1到365)。我想获得一个只有日期和月份(没有年份)值的日期时间格式(或任何可以绘制为日期索引的格式)的新列吗?也就是说,strftime的格式为%d-%m。

到目前为止,我已经成功地从第1天-> 01-01天开始使用strftime进行生产,问题是它现在是一个条带,对于绘制我的数据没有用...

有什么想法如何实现Year价值?

1 个答案:

答案 0 :(得分:0)

以下是带有Date列的示例数据框:

   Date     Open     High     Low    Close  Adj Close    Volume
0     1  4.06250  4.12500  3.8750  3.90625   3.093209   7048800
1     2  3.84375  3.96875  3.5000  3.62500   2.870497  12864000
2     3  3.50000  4.25000  3.5000  4.12500   3.266428   9526400
3     4  4.06250  4.68750  4.0625  4.50000   3.563378   5693600
4     5  4.40625  4.65625  4.1250  4.21875   3.340666  30480000

然后可以使用Date解析pd.to_datetime(),然后使用strftime()重新格式化日期:

df['Date'] = pd.to_datetime(df['Date'], format='%j').dt.strftime('%m-%d')

礼物:

    Date     Open     High     Low    Close  Adj Close    Volume
0  01-01  4.06250  4.12500  3.8750  3.90625   3.093209   7048800
1  01-02  3.84375  3.96875  3.5000  3.62500   2.870497  12864000
2  01-03  3.50000  4.25000  3.5000  4.12500   3.266428   9526400
3  01-04  4.06250  4.68750  4.0625  4.50000   3.563378   5693600
4  01-05  4.40625  4.65625  4.1250  4.21875   3.340666  30480000