使用np.genfromtext()将字符串Date列拆分为两个带有Week和Y的Int列

2024-03-29 15:33:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用np.genfromtext()将CSV读入np数组。我的数据文件中的一列是“YYYY-MM-DD”日期,它被函数作为二进制字符串读取。我想导入此列的数据,但将其拆分为一个年份列和一个ISO周数列,两者都是intfloat。数据转换会给我一个同质数组

目前,我正在将二进制字符串转换为utf-8字符串,然后将其转换为datetime.date对象以应用date.isocalendar()。该函数返回一个int的元组(Year, Month, Day。但是,由于元组与来自其他列导入的其他int和float数据点不匹配,因此数组变得异构。我想将Yearint设为一列,将Monthint设为另一列

这是我正在尝试的没有分裂

raw_data = np.genfromtxt('.../avocado.csv',delimiter=',', dtype = None, usecols = (1, 2, 3, 11), skip_header = 1, \
                         converters = {1:lambda x:dt.datetime.strptime(str(x, "utf-8"), '%Y-%m-%d').date().isocalendar()[:2],2:float,3: float, 11: lambda x: 0 if str(x, "utf-8") == "conventional" else 1})

列1是带有日期字符串的列


Tags: 数据lambda函数字符串datetimedatenp二进制