如何格式化大熊猫中的日期格式

时间:2020-06-30 15:47:42

标签: python pandas datetime format

我使用python和pandas来获取Yahoo股票的市场日期并保存到本地的csv文件中。

DailyPrice = pd.read_csv(file, index_col=0)
print(DailyPrice.tail())

Date
2020-05-27           86.480003  84.370003  86.300003  86.180000  1917600.0 
2020-05-28           87.849998  86.059998  86.870003  86.690002  1908700.0

然后我更新日期。

History = pdr.DataReader(ticker, start=Before_yesterday, end=Today, data_source='yahoo')
print(History.tail())

Date
2020-06-29  87.360001  86.110001  86.559998  87.290001  1302500.0  87.290001
2020-06-30  88.379997  87.235001  87.330002  88.269997   236377.0  88.269997

然后我附加日期

DailyPrice = DailyPrice.append(History)
print(DailyPrice.tail())

Date
2020-05-27           86.480003  84.370003  86.300003  86.180000  1917600.0 
2020-05-28           87.849998  86.059998  86.870003  86.690002  1908700.0
2020-06-29 00:00:00  87.360001  86.110001  86.559998  87.290001  1302500.0
2020-06-30 00:00:00  88.379997  87.235001  87.330002  88.269997   236377.0

所以,我的问题是: 我该如何格式化日期列,就像%Y-%m-%d一样,而没有时间hh:mm:ss?

3 个答案:

答案 0 :(得分:0)

我想这是与此one

相同的问题
df['Date'] = df['Date'].dt.date

应该可以

答案 1 :(得分:0)

好像您有DatetimeIndex,则可以尝试使用strftime

DailyPrice.index = DailyPrice.index.strftime('%Y-%m-%d')

答案 2 :(得分:0)

我想我找到了问题。

日期不是列的名称。

DailyPrice.columns.values.tolist()
['High', 'Low', 'Open', 'Close', 'Volume', 'Adj Close']

那么第一列日期是什么?

日期是索引。

终于,问题解决了。

DailyPrice.index = pd.to_datetime(DailyPrice.index, format = '%Y-%m-%d')
相关问题