gpt4 book ai didi

python - 如何从 Excel 工作表中提取日期?

转载 作者:行者123 更新时间:2023-12-01 07:43:13 26 4
gpt4 key购买 nike

我正在尝试使用 pandas 库从 Excel 工作表中提取日期。

data = pd.read_excel (import_file_path)
df = pd.DataFrame(data,columns = ['birthday'])

这可行,但我真的不知道如何使用 DataFrames,我只需要一个年龄列表/数组,所以我尝试将其转换为 numpy 数组:

array = df.to_numpy()

这也可以正常工作,但数组的元素如下所示:

[datetime.datetime(1983, 6, 4, 0, 0)]

但是我无法使用datetime提供的方法来转换日期。

最终获取年龄列表/数组的最佳方法是什么?

更新:

               Birthday
1 2002-03-15 00:00:00
2 1999-04-17 00:00:00
3 1993-06-04 00:00:00
4 1997-07-04 00:00:00
5 1983-08-09 00:00:00
6 2000-01-10 00:00:00
7 1996-08-20 00:00:00
8 2003-11-06 00:00:00

最佳答案

假设您的日期列名为生日,则类似于以下内容:

df = pd.DataFrame({'Birthday' : pd.date_range(start='01/01/88',end='02/02/95',freq='M')})
df['Today'] = pd.datetime(2019,6,13) # probably better to use the datetime module.
df['Years'] = (df['Today'] - df['Birthday']) / np.timedelta64(1, 'Y')
print(df.head(5))
Birthday Today Years
0 1988-01-31 2019-06-13 31.365463
1 1988-02-29 2019-06-13 31.286063
2 1988-03-31 2019-06-13 31.201188
3 1988-04-30 2019-06-13 31.119051
4 1988-05-31 2019-06-13 31.034176

然后只需将 col 转换为 np.array

 a = np.array(df['Years'])
print(a)
array([31.36546267, 31.28606337, 31.20118825, 31.11905104, 31.03417592,
30.95203871, 30.8671636 , 30.78228848, 30.70015127, 30.61527615,
30.53313894, 30.44826382, 30.36338871, 30.28672731, 30.20185219,
30.11971498, 30.03483987, 29.95270266, 29.86782754, 29.78295242]

关于python - 如何从 Excel 工作表中提取日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56588584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com