使用np.genfromtext()将字符串日期列拆分为两个具有周和年的整数列

时间:2019-06-07 17:56:41

标签: python python-3.x numpy numpy-ndarray

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

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

这是我不拆分时要尝试的操作。

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列是带有日期字符串的列。

0 个答案:

没有答案