Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 3.x Excel csv到Python中的整数日期_Python 3.x_Dataframe - Fatal编程技术网

Python 3.x Excel csv到Python中的整数日期

Python 3.x Excel csv到Python中的整数日期,python-3.x,dataframe,Python 3.x,Dataframe,众所周知,excel中的日期是:“所有日期都存储为整数,表示自1900年1月1日(存储为数字1)到9999年12月31日(存储为2958465)的天数。” 有没有一种方法可以使用特定的内置函数在python中执行这种格式设置 现在我有下面的导入数据框 我想把它改成这样 import pandas as pd, datetime as dt df1=pd.read_csv('ADS.csv') df1['Date'] = pd.TimedeltaIndex(df1['Date'], unit='

众所周知,excel中的日期是:“所有日期都存储为整数,表示自1900年1月1日(存储为数字1)到9999年12月31日(存储为2958465)的天数。”

有没有一种方法可以使用特定的内置函数在python中执行这种格式设置

现在我有下面的导入数据框

我想把它改成这样

import pandas as pd, datetime as dt
df1=pd.read_csv('ADS.csv')
df1['Date'] = pd.TimedeltaIndex(df1['Date'], unit='d') + dt.datetime(1900,1,1)
df1=df1.set_index('Date')
df1.head()

我使用下面的代码来实现这一点

import datetime as dt, pandas as pd

def days_since_jan_1_1900_to_datetime(d):
    return dt.datetime(1900,1,1) + dt.timedelta(days=d)

df1=pd.read_csv('ADS.csv')
df1['Date'] = df1['Date'].apply(days_since_jan_1_1900_to_datetime)
df1=df1.set_index('Date')
df1.head()
是否有更简单或更少的代码行可以这样做


提前非常感谢您

它很安静,但您可以删除您的功能

df1['Date'] = pd.TimedeltaIndex(df1['Date'], unit='d') + dt.datetime(1900,1,1)
所以完整的代码看起来是这样的

import pandas as pd, datetime as dt
df1=pd.read_csv('ADS.csv')
df1['Date'] = pd.TimedeltaIndex(df1['Date'], unit='d') + dt.datetime(1900,1,1)
df1=df1.set_index('Date')
df1.head()