当我从我的计算机上的excel文件中提取日期数据时,该文件列为:“10/1/10” - 并存储在数组dData
中,并且日期的数字版本存储在nData
为:734046
,因此当您致电dData[0]
时,它会返回"10/1/10"
,当您致电nData
时,会返回734046
。
无论其
我在10/1/10传递的粗体代码返回735536,这不是按时间顺序排列的确切键值对。
import numpy as np
import pandas as pd
import xlrd
import csv
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import datetime
import time
import random
import statistics
import numpy
from numpy.random import normal
from scipy import stats
dData = [] #Date in string format - Month/Day/Year
pData = [] #Date in float format - Value.Decimals
nData = [] #Data in Dates in int - Formatted Date Data for plotting in Matpl
def loadData(dates, prices, numDates):
dateDictionary = {} # empty dictionary that will contain string dates to number dates
numDateToPrice = {} # empty dictionary that will contain number dates to string dates
nestedDictionary = {} # empty dictionary that will contain a nested dictionary str date : {numbertodate: price}
with open('/Users/dvalentin/Code/IndividualResearch/CrudeOilFuturesAll.csv', 'rU') as csvfile: #This is where I pull data from an excel file on my comp
reader = csv.reader(csvfile, delimiter=',')
for row in reader:
dates.append(row[0])
numDates.append(row[1])
prices.append(row[2])
**for x in dates:
for x in numDates:
dateDictionary[x] = y
print dateDictionary**
for x in numDates[x]:
for y in prices[y]:
numDateToPrice[x] = y
plt.plot_date(x=numDates, y=prices, fmt="r-")
plt.plot()
plt.title("Crude Oil Futures")
plt.ylabel("Closing Price")
plt.grid(True)
plt.show()
答案 0 :(得分:0)
import pandas as pd
import datetime as dt
dates = ['10/1/10', '10/2/10','11/3/10','1/4/11']
prices = [12,15,13,18]
df = pd.DataFrame({'dates':dates,'prices':prices})
df = df.set_index(pd.DatetimeIndex(df['dates']))
df = df.drop('dates', axis = 1)
print df.ix['20101002']
print df['20101001':'20101002']
print df['2010']
print df['2010-10']
这似乎是一种更好的方式来组织您的数据,而不是搞乱日期的数字代码。您始终可以为图形参数操作datetimeindex,并根据需要设置样式。但是这个datetimeindex更容易操作数据而不必使用字典。有关日期时间索引的更多信息:http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DatetimeIndex.html。希望这可以帮助!