格式化DateTimeIndex

时间:2019-10-27 07:06:51

标签: python pandas datetimeindex

我是Python的新手,并且遇到了一个看似简单的问题。我试图将DateTimeIndex的格式更改为仅显示年份和月份。我仍然返回原始格式(YYYY-MM-DD)。先感谢您。

from numpy import array
import pandas as pd
import quandl
import numpy as np
import matplotlib.pyplot as plt

new_orders=quandl.get("ISM/MAN_NEWORDERS.5")
df = quandl.get("USTREASURY/YIELD", collapse="monthly")

#plt.plot(new_orders[4])
#plt.show()

df2=pd.DataFrame(df['10 YR'])

df2.index.strftime('%Y-%m')

print(df2.index)

2 个答案:

答案 0 :(得分:0)

您需要获取索引值,对其进行适当的格式化,然后将这些格式化的值设置为新索引,如下所示:

from numpy import array
import pandas as pd
import quandl
import numpy as np
import matplotlib.pyplot as plt

new_orders=quandl.get("ISM/MAN_NEWORDERS.5")
df = quandl.get("USTREASURY/YIELD", collapse="monthly")

df2=pd.DataFrame(df['10 YR'])

dates = df2.index
datesFormatted = dates.strftime('%Y-%m')
df2 = df2.set_index(datesFormatted)

print(df2.index)

答案 1 :(得分:0)

您可以使用以下方法就地更改DataFrame的索引(无需创建DataFrame类的新对象):

df2.index = df2.index.strftime('%Y-%m')

或这个:

df2.set_index(df2.index.strftime('%Y-%m'), inplace=True)