如果我有名单
a=[4, 5, 6]
据我所知,最简单的过滤方法是:
[i for i in a if a<6]
现在我刚刚介绍了dataframes,对于像
df = pd.DataFrame({'a':[4, 5, 6], 'b':[7, 1, 2]})
我可以通过指定元素和条件来应用(行)筛选器:
df[df['a']<6]
这似乎比过滤列表的方法更简洁,也可能更容易混淆(一旦你习惯了)。无法通过简单地在[]中指定条件来应用列表筛选器,如
a[<6]
显然,它目前没有以这种方式实现,但是当前的方法不是比较冗长吗?为什么不能简化?你知道吗
您不能完全掌握所需的语法,但是如果您想创建自己的列表类,可以使用一个同样简洁的列表类:
是的,可以构建python语言,以便
a[<6]
执行所需的筛选,但是每个python程序员和每个python编译器都必须学习这种特殊语法,以便在一些特殊情况下保存一点源代码:>;、>;=、=、<;=、<;。你知道吗正如你所展示的,Pandas做了一些类似的事情,但是它是为大量的数值分析而构建的,因此语法糖可能更值得花费。另外,pandas倾向于提供大量受R语言启发的语法,因此它不是非常地道的python。你知道吗
你有上面最简单的方法。但是,您可以使用以下方法
这看起来不错,但我仍然有一个软点的名单理解。你知道吗
相关问题 更多 >
编程相关推荐