Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫无法将输入转换为时间戳错误_Python_Pandas - Fatal编程技术网

Python 熊猫无法将输入转换为时间戳错误

Python 熊猫无法将输入转换为时间戳错误,python,pandas,Python,Pandas,数据集中有两个变量:开始日期(格式datetime64[ns])和结束日期(格式datetime64[ns])。我使用以下代码来获取开始日期和结束日期之间的日期 pd.date_range(start = data['beginning_date'], end = data['end_date'], freq = 'D') 但它抛出了以下错误 cannot convert input to timestamp 为什么我会犯以上的错误。我试着改变如下,但它不工作 pd.date_range(s

数据集中有两个变量:开始日期(格式datetime64[ns])和结束日期(格式datetime64[ns])。我使用以下代码来获取开始日期和结束日期之间的日期

pd.date_range(start = data['beginning_date'], end = data['end_date'], freq = 'D')
但它抛出了以下错误

cannot convert input to timestamp
为什么我会犯以上的错误。我试着改变如下,但它不工作

pd.date_range(start = data['beginning_date'], end = data['end_date'], freq = 'D').astype('datetime')
我还希望每天都作为单独的记录,例如:开始日期=2015年4月1日和结束日期=2015年4月30日,我希望每天都作为单独的记录,如下所示

 01APR2015
 02APR2015 etc
我怎样才能把它作为一张单独的唱片


提前谢谢。

请您先帮我格式化输入,然后再进行转换

pd.date_range(start = '30-APR-2015', end = '05-MAY-2015', freq = 'D')
输出将是

DatetimeIndex(['2015-04-30', '2015-05-01', '2015-05-02', '2015-05-03',
           '2015-05-04', '2015-05-05'],
          dtype='datetime64[ns]', freq='D')

假设您具有以下DF:

In [30]: df
Out[30]:
  beginning_date   end_date
0     2013-12-22 2014-01-01
1     2009-12-14 2009-12-28
2     2010-12-31 2011-01-11
我猜在调用
pd.date\u range()方法时,您试图使用series而不是scalar值:

In [31]: pd.date_range(df.beginning_date, df.end_date)
...
skipped
...
TypeError: Cannot convert input to Timestamp
因此,请尝试以下方法:

In [32]: pd.date_range(df.beginning_date.min(), df.end_date.max())
Out[32]:
DatetimeIndex(['2009-12-14', '2009-12-15', '2009-12-16', '2009-12-17', '2009-12-18', '2009-12-19', '2009-12-20', '2009-12-21', '2009-12-22',
 '2009-12-23',
               ...
               '2013-12-23', '2013-12-24', '2013-12-25', '2013-12-26', '2013-12-27', '2013-12-28', '2013-12-29', '2013-12-30', '2013-12-31',
 '2014-01-01'],
              dtype='datetime64[ns]', length=1480, freq='D')

зззззззззззз2з20,зааззззззззз1079

如果有人从2k20带着这个问题来到这里,解决方法是使用lambda

f = lambda x: len(pd.date_range(start=x[0],end=x[1],freq='M'))

df_clear['difference'] = df_clear[['start_month','finish_month']].apply(f, axis=1)

请提供一个您阅读的示例,以便您知道只有有效类型的arg是datetime或string?谢谢,pd.date\u范围起作用,我们是否需要遵循任何特定的输入格式?我的输入数据的格式为datetime64[ns],我需要将其更改为哪种格式?快速调试后,此处存在故障:426如果开始不是无:-->427开始=时间戳(开始)428 429如果结束不是无:我现在无法编辑我的注释。所以我把它加在这里。快速调试后,pandas.tslib.Timestamp.\uuu new\uuu中存在故障。426如果start不是None:-->427 start=时间戳(start),根据错误代码,格式基于日期时间格式。您可以查看代码了解详细信息。欢迎使用堆栈溢出!请正确格式化您的代码。另外,请用英语写下你的答案,如