python - 生成新行并将它们附加到 DataFrame 的最快方法
问题描述
我想在一定的时间间隔内改变数据集中的目标值。当使用 500 个数据时,大约需要 1.5 秒,但我有大约 100000 个数据。大部分执行时间都花在了这个过程中。我想加快速度。
将行附加到 DataFrame 的最快和最有效的方法是什么? 我尝试了此链接中的解决方案,尝试创建字典,但我做不到。
这是 500 个数据大约需要 1.5 秒的代码。
def add_new(df,base,interval):
df_appended = pd.DataFrame()
np.random.seed(5)
s = np.random.normal(base,interval/3,4)
s = np.append(s,base)
for i in range(0,5):
df_new = df
df_new["DeltaG"] = s[i]
df_appended = df_appended.append(df_new)
return df_appended
解决方案
def add_new(df1,base,interval,has_interval):
dictionary = {}
if has_interval == 0:
for i in range(0,5):
dictionary[i] = (df1.copy())
elif has_interval == 1:
np.random.seed(5)
s = np.random.normal(base,interval/3,4)
s = np.append(s,base)
for i in range(0,5):
df_new = df1
df_new[4] = s[i]
dictionary[i] = (df_new.copy())
return dictionary
有用。整个数据大约需要 10 秒。感谢您的回答。
推荐阅读
- django - 如何将大型 Django 项目划分为子项目进行扩展?
- ios - 我们可以在 Swift 上重用 struct 吗?或者还有其他方法吗?
- pdf-generation - Ghostscript : ps to pdf - 保持方向
- javascript - 使用 progressbar.js 在我的进度圈上添加限制栏
- tfs - TFS 2018 代码搜索
- node.js - Mongoose 查找设置,例如。如果位置是全部显示所有结果不是位置:“全部”
- python - 用于组合异步迭代器的映射、过滤器和迭代工具
- html - 在 ionic 的 html 标签中使用未定义的属性
- mysql - 使用 mysql 数据通过 Elasticsearch 实现搜索
- websocket - Web 套接字和动态 CRM