我需要创建一个日期向量,其中pd.date_range指定日期值的最小值和最大值。日期值来自对数据框对象ds
执行的子选择。
这是我编写的代码:
注意Date
中的ds
是从]获得的>
ds = pd.read_excel("data.xlsx",sheet_name='all') # Read the Excel file ds['Date'] = pd.to_datetime(ds['Date'], infer_datetime_format=True)
这是for循环内的部分,其中
x
在名称列表上循环。
for x in lofNames: date_tmp = ds.loc[ds['Security Name']==x,['Date']] mindate = date_tmp.min() maxdate = date_tmp.max() date = pd.date_range(start=mindate, end=maxdate, freq='D')
这是我得到的错误:
Traceback (most recent call last): File "<ipython-input-8-1f56d07b5a74>", line 4, in <module> date = pd.date_range(start=mindate, end=maxdate, freq='D') File "/Users/marco/opt/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/datetimes.py", line 1180, in date_range **kwargs, File "/Users/marco/opt/anaconda3/lib/python3.7/site-packages/pandas/core/arrays/datetimes.py", line 365, in _generate_range start = Timestamp(start) File "pandas/_libs/tslibs/timestamps.pyx", line 418, in pandas._libs.tslibs.timestamps.Timestamp.__new__ File "pandas/_libs/tslibs/conversion.pyx", line 329, in pandas._libs.tslibs.conversion.convert_to_tsobject TypeError: Cannot convert input [Date 2007-01-09 dtype: datetime64[ns]] of type <class 'pandas.core.series.Series'> to Timestamp
怎么了?谢谢
我需要创建一个日期向量,其中pd.date_range指定日期值的最小值和最大值。日期值来自对数据框对象ds执行的子选择。这是我写的代码:...
在这里返回一列DataFrame
而不是Series
,因此下一个min
和max
返回了一个项Series
而不是scalar
,因此引发了错误: