Dictionary Python:随着日期字符串被传递到字典中,值变得混乱
当我从我的计算机上的excel文件中提取日期数据时,该文件列为:“10/1/10”-并存储在数组Dictionary Python:随着日期字符串被传递到字典中,值变得混乱,dictionary,excel-2010,export-to-csv,opencsv,Dictionary,Excel 2010,Export To Csv,Opencsv,当我从我的计算机上的excel文件中提取日期数据时,该文件列为:“10/1/10”-并存储在数组dData,日期的数字版本存储在nda中,作为:734046,因此当调用dData[0]时,它返回“10/1/10”当您调用nda时,它返回734046 然而 当我在10/1/10中传递粗体代码时,它返回735536,这不是按时间顺序组织的确切键值对 import numpy as np import pandas as pd import xlrd import csv import numpy
dData
,日期的数字版本存储在nda
中,作为:734046
,因此当调用dData[0]
时,它返回“10/1/10”
当您调用nda
时,它返回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()
这似乎是一种更好的组织数据的方法,而不是乱搞日期的数字代码。您始终可以操纵图形参数的datetimeindex,并根据需要设置其样式。但是使用datetimeindex操作数据要容易得多,而不必使用字典。有关日期时间索引的详细信息:。希望这有帮助 但我还能用图表显示这些数据吗?因为在matplot中,我相信,必须首先将日期转换为数字python值,该值对于绘图来说是可读的?
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']