使用Python中的Pandas进行数据转换?

Mad*_*mar 3 python-3.x pandas

当我尝试从数字格式转换为日期时,我得不到与Excel相同的结果.

我需要将Number转换为日期格式并获得与Excel中相同的结果.

例如,对于以下数字的Excel中的示例,我得到以下内容:

Input - 42970.73819
Output- 8/23/2017 17:43
Run Code Online (Sandbox Code Playgroud)

我尝试在Pandas中使用日期转换,但没有得到与Excel相同的结果.

谢谢马丹

jez*_*ael 6

我想你需要转换序列日期:

df = pd.DataFrame({'date':[42970.73819,42970.73819]})
print (df)
          date
0  42970.73819
1  42970.73819

df = pd.to_datetime((df['date'] - 25569) * 86400.0, unit='s')
print (df)
0   2017-08-23 17:42:59.616
1   2017-08-23 17:42:59.616
Name: date, dtype: datetime64[ns]
Run Code Online (Sandbox Code Playgroud)

  • 是的......逻辑是在`xlrd.xldate_as_datetime`中,但是对于Windows(1900)而言有0年的两个偏移,对于Mac(1904)有1个偏移...所以`df.date.apply(xlrd.xldate_as_datetime,args =( 0,))`也是一个选项...(假设您将在一个点上使用Excel文档,并且pandas可能安装了xlrd,xlwt和openpyxl) (3认同)