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