gpt4 book ai didi

python - 将 Dataframe 转换为 dict 列表太慢

转载 作者:行者123 更新时间:2023-12-01 03:38:45 25 4
gpt4 key购买 nike

from pandas import DataFrame
import time

data = []
for i in range(3000):
data.append(['SH601318', 'abcdef', 0.0001215, 0.000215, 0.125, 0.243])
df = DataFrame(data)
df.columns = ['symbol', 'name', 'total_ratio', 'outstanding_ratio', 'avg_total_ratio', 'avg_outstanding_ratio']

t = time.time()
result = [{
'symbol': df.at[i, 'symbol'],
'name': df.at[i, 'name'],
'total_ratio': df.at[i, 'total_ratio'],
'outstanding_ratio': df.at[i, 'outstanding_ratio'],
'avg_total_ratio': df.at[i, 'avg_total_ratio'],
'avg_outstanding_ratio': df.at[i, 'avg_outstanding_ratio'],
} for i in range(len(df))]
print '%.2f seconds' % (time.time() - t)
# 0.25 seconds

t = time.time()
result = [df.iloc[i].to_dict() for i in range(len(df))]
print '%.2f seconds' % (time.time() - t)
# 0.58 seconds

我尝试了两种方法将 DataFrame 转换为字典列表。但两者都非常慢,250毫秒和580毫秒!这远远超过了我从数据库查询的时间。我不知道为什么要花这么多时间,毕竟操作内存比磁盘快。我预计这个时间是 10 毫秒。有什么办法可以实现吗?

最佳答案

我认为你需要to_dict带参数orient='records':

print (df.to_dict(orient='records'))

关于python - 将 Dataframe 转换为 dict 列表太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39996204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com