我正在尝试使用一个非常大的csv文件(15,500),其中包含日期,时间(HH:MM),名称,高,低作为字段。理想情况下,该项目将为我提供时间段的数据,以向我展示最高价和最低价商品的销售时间。我尝试的第一步是将数据简单地放入python中,而我已经遇到了问题。在开始思考如何实现最终目标之前,我陷入了困境。我显然很新,所以请客气...`
import numpy as np
my_data = np.genfromtxt('http://localhost:8888/edit/Downloads/sales.csv', delimiter= " , ", invalid_raise = False)
print (my_data)
输出
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan]
在这一步,我想看看我的数据已正确导入。
我相信,下一步将是找到每个日期的最大值和最小值,然后找出发生这些时间的时间。
是否只是日期的for循环,然后是嵌入式的for循环以查找最大值和最小值?
我想要一个简单的底部时间仓位直方图,以显示是否存在某个时间最昂贵的商品卖出和最便宜的商品卖出(数据已经存在5分钟的时段中)了。
答案 0 :(得分:0)
“,”周围有空格,请尝试将其删除。此外,尝试添加dtype = None,encoding ='utf-8'。因此,尝试:
my_data = np.genfromtxt('Downloads/sales.csv', delimiter=",", dtype=None, encoding='utf-8')
此外,如果CSV具有标头,则可以尝试添加names=True
。如果这样做,可以通过执行my_data['header_name']
来访问它们。 (而且(500,15)听起来并不大,numpy可以处理更大的数组。)
而且,您不应使用Jupyter笔记本URL来加载该文件。只需将路径更改为正确的文件名即可。