Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在Python中加速此任务
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个大熊猫数据框,24'000'000行×6列加索引。 我需要读取第1列中的整数(即=1或2),然后如果第1列=1,则强制第3列中的值为负值,如果第2列=2,则强制为正值。我在Jupyter笔记本中使用以下代码:</p> <pre><code>for i in range(1000): if df.iloc[i,1] == 1: df.iloc[i,3] = abs(df.iloc[i,3])*(-1) if df.iloc[i,1] == 2: df.iloc[i,3] = abs(df.iloc[i,3]) </code></pre> <p>上面的代码只需要2分钟30秒就可以运行1000行。对于2400万行,需要41天才能完成</p> <p>有点不对。该代码在相当高端的PC上的Jupyter笔记本电脑/Chrome/Windows中运行</p> <p>熊猫数据帧是使用pd.read_csv创建的,然后按以下方式进行排序和索引:</p> <pre><code>df.sort_values(by = "My_time_stamp", ascending=True,inplace = True) df = df.reset_index(drop=True) </code></pre> <p>数据帧的创建和排序只需要几秒钟。我还有其他的计算要在这个数据帧上执行,所以我显然需要理解我做错了什么</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<h3><code>np.where</code></h3> <pre><code>a = np.where(df.iloc[:, 1].to_numpy() == 1, -1, 1) b = np.abs(df.iloc[:, 3].to_numpy()) df.iloc[:, 3] = a * b </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在Excel中读取公式并将其转换为Python中的计算?
9 回答
如何在excel中读取嵌入的excel,并将嵌入文件中的信息存储在主excel文件中?
7 回答
如何在Excel中返回未知列长度的非空顶行列值?
5 回答
如何在excel中选择数据列?
10 回答
如何在Excel中通过脚本自动为一列中的所有单元格创建公共别名
2 回答
如何在excel中高效格式化范围AttributeError:“tuple”对象没有属性“fill”
9 回答
如何在excel单元格中编写python函数
9 回答
如何在excel单元格中自动执行此python代码?
4 回答
如何在excel工作表中创建具有相应值的新列
7 回答
如何在Excel工作表中复制条件为单元格颜色的python数据框?
2 回答
如何在Excel工作表中循环
10 回答
如何在excel工作表中打印嵌套词典?
5 回答
如何在excel工作表中绘制所有类的继承树?
3 回答
如何在Excel工作表中自动调整列宽?
10 回答
如何在excel工作表中追加并进一步处理
5 回答
如何在excel工作表之间进行更改?
8 回答
如何在excel或csv上获取selenium数据?
3 回答
如何在Excel或Python中将正确的值赋给正确的列
4 回答
如何在excel或python中提取单词周围的文本?
4 回答
如何在excel或python中转换来自Jira的3w 1d 4h的fromat数据?
1 回答