我必须读取多个 csv 文件并将它们按"event_name". 我也可能有一些重复项,所以我需要删除它们。paths包含csv文件的所有路径,我的代码如下:
data = []
for path in paths:
csv_file = pd.read_csv(path)
data.append(csv_file)
events = pd.concat(data)
events = events.drop_duplicates()
event_names = events.groupby('event_name')
ev2 = []
for name, group in event_names:
a, b = group.shape
ev2.append([name, a])
这段代码将告诉我event_name有多少个唯一的 unique ,以及每个event_name. 它工作得很好,除了 csv 文件太大而且我遇到了内存问题。有没有办法使用更少的内存来做同样的事情?
我读到了有关使用dir()和globals()删除变量的内容,我当然可以使用它们,因为一旦我有了,我就不再event_names需要 DataFrame 了。events但是,我仍然遇到这些记忆问题。更具体地说,我的问题是:我可以以更节省内存的方式读取 csv 文件吗?或者我可以做些什么来减少内存使用?我不介意牺牲性能,只要我可以一次读取所有 csv 文件,而不是逐块读取。
饮歌长啸
相关分类