我需要处理一个包含300万行和7列的大型csv文件。
数据帧形状:(3421083,7)
我的计划是删除包含某个值(客户id)的所有行,我将如何继续:#keep track of iterations
track = 0
#import all transactions (orders.csv)
transactions = pd.read_csv('transactions.csv')
#We select all orders that are electronics orders and put them into a df
is_electronics = transactions[transactions.type == "electronics"]
#Create arrays that will store users to destroy in transactions.csv
users_to_remove = []
#iterate to add appropriate values:
# we add all users that ordered electronics to a list
for user in is_electronics.user_id:
users_to_remove.append(user)
#We delete from orders.csv
for user in users_to_remove:
transactions = transactions[transactions.user_id != user]
track += 1
if track == 100000:
print(track)
track = 0
transactions.to_csv('not_electronics.csv', index = False)
这项手术花了很长时间我运行了一个小时,它仍然没有完成。在
我有一个四核桌面i5,3.2GHz和8gb内存。但是在活动监视器中,计算机只使用5gb的ram和40%的cpu。在
有什么方法可以加快这个过程的计算速度吗?是通过更改代码还是使用其他库?在
我也有一个gpu(gtx 970)我可以用它来处理这个吗?在
谢谢。在