当前位置: 首页 > 面试题库 >

带有和不带有括号的python pandas函数

公羊光明
2023-03-14
问题内容

我注意到,如果使用许多不带括号的DataFrame函数,其行为似乎类似于“属性”,例如

In [200]: df = DataFrame (np.random.randn (7,2))

In [201]: df.head ()
Out[201]: 
      0         1
   0 -1.325883  0.878198
   1  0.588264 -2.033421
   2 -0.554993 -0.217938
   3 -0.777936  2.217457
   4  0.875371  1.918693

In [202]: df.head 
Out[202]: 
<bound method DataFrame.head of           0         1
   0 -1.325883  0.878198
   1  0.588264 -2.033421
   2 -0.554993 -0.217938
   3 -0.777936  2.217457
   4  0.875371  1.918693
   5  0.940440 -2.279781
   6  1.152370 -2.733546>

这是如何完成的,是一种好的做法?这是Linux上的熊猫0.15.1


问题答案:

它们是不同的,因此不建议使用,它们清楚地表明这是一种方法并且恰好输出结果,而另一种则表明了预期的输出。

这就是为什么您不应该这样做的原因:

In [23]:

t = df.head
In [24]:

t.iloc[0]
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-24-b523e5ce509d> in <module>()
----> 1 t.iloc[0]

AttributeError: 'function' object has no attribute 'iloc'

In [25]:

t = df.head()
t.iloc[0]
Out[25]:
0    0.712635
1    0.363903
Name: 0, dtype: float64

所以好吧,您没有使用括号正确地调用该方法并看到显示为有效的输出,但是如果您引用了该引用并尝试使用它,那么您将对方法进行操作,而不是对df的切片进行操作你打算做什么



 类似资料:
  • 问题内容: 今天有人告诉我,可以不带括号地调用一个函数。我能想到的唯一方法是使用类似或的函数。 但是,这些都需要加上括号,然后放在第一个平方上。我还考虑了将函数传递给某种事件处理程序的想法,例如: 但是,问题就变成了“如何在没有括号的情况下调用?” 那么这个谜题的解决方案是什么?如何在不使用括号的情况下调用Javascript函数? 问题答案: 有多种不带括号的函数调用方法。 假设您已定义此函数:

  • 今天有人告诉我,可以调用没有括号的函数。我能想到的唯一方法是使用像或这样的函数。 但这些要求在和上加上括号,让我们处于第一步。我还考虑了将函数传递给某种事件处理程序的想法,例如: 但是问题变成了“如何在没有括号的情况下调用?” 那么这个谜的答案是什么呢?如何在Javascript中调用函数而不使用括号?

  • 本文向大家介绍基于js里调用函数时,函数名带括号和不带括号的区别,包括了基于js里调用函数时,函数名带括号和不带括号的区别的使用技巧和注意事项,需要的朋友参考一下 示例代码: 如以上代码: aaa 是将 hi() 的运行结果赋值给它,即 return 返回的匿名函数,此时有一个闭包,则每次调用 aaa 时都访问的同一个 a,aaa() 第一次运行结果为 1,第二次为2 而 bbb 将是将 hi 这

  • 问题内容: 我还没有找到任何官方文档。但是afaik,是否在没有括号的情况下使用我们的类实例化没有关系-只要不涉及参数,对吗? 要么 但是谁能告诉我性能是否有所不同?“更正确”的方法是哪一种?有任何官方文件吗? 问题答案: 性能上的任何差异将绝对可以忽略。 虽然这两种方式都很好,我个人更喜欢使用 ,因为通常情况下,一个方法 是 正在这里所说的,和PHP函数/方法调用时需要。而且,它与带有参数的实例

  • 问题内容: 在寻找的源代码中,我看到了以下功能: 该语法在哪里记录?我的意思是功能的前面。这与声明一个常规数组相同,在该常规数组中括号可以位于数组名称之后或之前,但是在这种情况下,括号可以位于函数名称之后? VS 编辑:2018-05-22 我在这里发现了这种疯狂语法的更多用法:关于Java的十件事 #3是他们提到可以利用上述语法的所有方式的地方 问题答案: 在JLS第8.4节中: … 返回数组的

  • 问题内容: 我刚刚注意到了这一点: 为什么这两行的输出不同? 我无法分享确切的数据,但我将尝试提供尽可能多的详细信息: 感谢@jezrael和@ayhan,这就是发生的事情,让我使用@jezael提供的示例: 如果我们看一下第3行: 以及我写条件的方式: 由于符号的优先级高于,因此不带方括号的等效于: 带括号: 我认为用数字说明这个问题要容易一些: 因此,经验教训是:总是加括号!!! 我希望我可以