python - 条件和的更快和python原生实现(矢量化)
问题描述
我想将一个 excel SUMIF 公式转换为 python。但是,我使用 Pandas.apply() 实现它的方式会消耗大量行数的时间。有人可以帮助我更好的矢量化实现吗?
def func1(x):
res = data.loc[(( (x['Date'] -data['Date']).dt.days == 1) & (data['ID'] == x['ID'])), ['Stock'].sum()
return res
data = pd.read_excel(settings['input_file'], sheet_name ="Data", usecols=range(0,10))
data['SUMIF']=data.apply(func1, axis=1)
解决方案
推荐阅读
- c++ - 如何提高BST的搜索操作效率?
- android - Android,在logcat中获取其他应用程序的所有事件?
- executorservice - 为 Completable 期货触发新的 Sleuth Tracer
- ios - 在 iPad 上使用 Swift UI 禁用拆分视图
- javascript - 使用 Fetch 发送 url 中的变量和 Body 中的对象
- r - 如何使用 R 在 .txt 文件中写入列表
- java - 如何延长课程两次?
- netlogo - 如何在 BehaviorSpace 中使用记者运行代码?
- javascript - Vuex - 调用异步函数
- excel - 搜索任何号码,例如电话号码