python - 使用熊猫循环遍历数据框时使用 if/else 语句的最快方法
问题描述
我试图在遍历 pandas df 行时运行条件语句,结果代码非常慢。例如:
for i, row in df.iterrows():
# transform date column
if len(df.loc[i, 'date']) == 7:
df.loc[i, 'date'] = '0' + df.loc[i, 'date']
df 只有大约 40k 行,而且速度很慢,因为这只是我试图与这个循环合并的语句之一。你能用一种更快的方法来做这样的循环吗?
谢谢!
解决方案
找到相关行并修改它们:
df.loc[df["date"].str.len() == 7, "date"] = "0" + df.loc[df["date"].str.len()== 7, "date"]
推荐阅读
- flutter - 在颤动中计算响应式字体大小的最佳方法?
- authentication - 获取访问令牌时出错“此 URL 不支持 HTTP 方法 POST,StatusCode=405”
- leaflet - 如何在地图中添加城市?
- c++ - 重新解释演员表并没有占用我所有的字节
- reactjs - 嵌套在子页面中时,React-router 链接不起作用
- mysql - MySQL DATE_ADD 与 DATETIME
- ios - 如何通过在 UIKit 中循环创建多个视图?
- python - Django如何访问抽象的Base模型局部变量
- gradle - Gradle Report Plugin 任务未正确执行
- python - 在 Visual Studio 代码中执行代码并将执行的代码替换为其输出