我正在尝试根据为下面的日期变量设置的用户值设置新的dataFrame。原始数据日期列(Date
)以下列格式7/5/17
进入pandas。按照我的假设是最佳做法,我将字段转换为datetime
格式,生成一个yyyy-mm-dd
格式的数组'2017-12-01', '2017-12-02', '2017-12-03', '2017-12-04','2017-12-05',
。在这里,我尝试在开始日期和结束日期内使用date_range
来选择我的dataFrame,然后仅显示使用变量X
和y
选择的列。但是,我在子选择行生成raise KeyError('{mask} not in index'.format(mask=objarr[mask]))
。我的代码中有什么价值可能会引发错误?是由于datetime
格式化吗?
# date column and conversion to datetime64[ns]
dateColumn = pd.to_datetime(rawData['Date'])
# date start
dateStart = '12/1/17'
# date end
dateEnd = '2/28/18'
# date range
dateRange = pd.date_range(dateStart, dateEnd)
# dependent variable
y = 'Leads'
# independent variable(s)
X = 'Clicks'
在12/1/17和2/28/18之间的日期行中选择x和y列:
print(rawData[rawData[dateColumn].isin(dateRange)][X,y])
答案 0 :(得分:1)
您正在使用列而不是列名称进行索引:
print(rawData[dateColumn.isin(dateRange)][[X,y]])