Python中文
首页
教程
问答
标签
搜索
登录
注册
Pandas数据帧过滤
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>假设我有一个包含四列的DataFrame,每个列都有一个阈值,我想对照这个阈值比较DataFrame的值。在</p> <p>我只想最小值的数据帧或阈值。在</p> <p>例如:</p> <pre><code>df = pd.DataFrame(np.random.randn(100,4), columns=list('ABCD')) >>> df.head() A B C D 0 -2.060410 -1.390896 -0.595792 -0.374427 1 0.660580 0.726795 -1.326431 -1.488186 2 -0.955792 -1.852701 -0.895178 -1.353669 3 -1.002576 -0.321210 1.711597 -0.063274 4 1.217197 0.202063 -1.407561 0.940371 thresholds = pd.Series({'A': 1, 'B': 1.1, 'C': 1.2, 'D': 1.3}) </code></pre> <p>该溶液有效(过滤了A4和C3),但必须有一种更简单的方法:</p> ^{pr2}$ <p>理想情况下,我希望使用.loc进行适当的筛选,但我还没有找到答案。我正在使用Pandas 0.14.1(无法升级)。在</p> <p><strong>回复</strong>以下是我对备选方案的初步提案的定时测试:</p> <pre><code>%%timeit df.lt(thresholds).multiply(df) + df.gt(thresholds).multiply(thresholds) 1000 loops, best of 3: 990 µs per loop %%timeit np.minimum(df, thresholds) # <--- Simple, fast, and returns DataFrame! 10000 loops, best of 3: 110 µs per loop %%timeit df[df < thresholds].fillna(thresholds, inplace=True) 1000 loops, best of 3: 1.36 ms per loop </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>怎么样:</p> <pre><code>df[df < thresholds].fillna(thresholds, inplace=True) </code></pre> <p><img src="https://i.stack.imgur.com/HfyVS.png" alt="showing result"/></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么我的神经网络模型的准确性不能在这个训练集上得到提高?
8 回答
为什么我的神经网络模型的权重变化不大?
6 回答
为什么我的神经网络的成本不断增加?
1 回答
为什么我的神经网络的输入pickle文件是19GB?
3 回答
为什么我的神经网络给属性错误?“非类型”对象没有属性“形状”
4 回答
为什么我的神经网络训练这么慢?
5 回答
为什么我的神经网络输出错误?
3 回答
为什么我的神经网络预测适用于MNIST手绘图像时是正确的,而适用于我自己的手绘图像时是不正确的?
6 回答
为什么我的神经网络验证精度比我的训练精度高,而且它们都是常数?
10 回答
为什么我的私人用户间聊天会显示在其他用户的聊天档案中?
8 回答
为什么我的积分的绝对误差估计值大于积分(使用scipy.integrate.nqad)?
8 回答
为什么我的积层回归器得分比它的组件差?
3 回答
为什么我的移动方法不起作用?
7 回答
为什么我的稀疏张量不能转换成张量
8 回答
为什么我的稀疏张量不能转换成张量?
8 回答
为什么我的程序“停止”了?
5 回答
为什么我的程序一直试图占用所有可用的CPU
10 回答
为什么我的程序不使用指定的代理
1 回答
为什么我的程序不工作(python帮助中的反向函数)?
1 回答
为什么我的程序不工作时,我使用多处理模块
4 回答