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

对于Pandas DataFrame,使用方括号或点访问列之间有什么区别?

翁钧
2023-03-14
问题内容

即:

import pandas

d = {'col1': 2, 'col2': 2.5}
df = pandas.DataFrame(data=d, index=[0])

print(df['col2'])
print(df.col2)

输出是相同的。

这个答案适用于这种情况吗?


问题答案:

“点符号”,即为方便起见公开df.col2的属性访问。

你可以直接作为属性访问“系列”上的索引,“数据框架”上的列以及“面板”上的项目:

df['col2']做同样的事情:它返回pd.Series列的a

关于属性访问的一些警告:

  • 你无法添加列(df.new_col = x将无法正常工作,更糟的是:它会默默地实际上创建一个新属性而不是一个列-请在此处进行猴子修补)
  • 如果列名中有空格或列名是整数,则将无法使用。


 类似资料:
  • 问题内容: 它们都有效吗?是出于某些原因而首选? 问题答案: 方括号是列表,括号是元组。 列表是可变的,这意味着您可以更改其内容: 而元组不是: 另一个主要区别是,元组是可哈希的,这意味着您可以将其用作字典的键。例如: 请注意,正如许多人指出的那样,您可以将元组加在一起。例如: 但是, 这并不意味着元组是可变的 。在上面的示例中,通过将两个元组加在一起作为参数来构造 新的 元组。原始元组未修改。为

  • 问题内容: 我来自Javascript背景(可以同时通过属性和符号访问属性),所以请原谅我,但是Python中两者之间的区别到底是什么? 从我的实验它seeems认为应始终使用,既得到的索引或并从在某个键中获得的价值。这是否正确?如果不正确,什么时候在Python中使用? 问题答案: 点运算符用于访问任何对象的属性。例如,复数 具有(其中包括)两个属性和: 除此以外,它还有一个方法,它也是一个属性

  • 问题内容: 使用和访问数组或对象属性的真正区别是什么?使用哪一个? 另外,为什么运算符不允许索引属性? 问题答案: 使用来访问成员称为 点符号 。用它们访问它们称为 括号符号 。 点表示法仅适用于属性名称即有效标识符名称spec,因此基本上任何名称也将是有效 变量名称 (有效 标识符和任何保留关键字。 [规格]](http://es5.github.io/#x7.6.1) 。 括号表示法需要一个表

  • 我已经开始使用IntelliJ,我真的很喜欢它,但是与Eclipse相比,我错过了一些特性。其中之一是在{}、()或[]之间选择块,或者在块的打开/关闭之间跳转。例如,在eclipse中,如果您在一个开始括号之后双击,它将选择直到匹配的结束括号为止的所有内容,如下所示: 其中如果您在开头括号之后双击,那么它会选择直到结尾括号的所有内容,就在item5之后。我发现当您双击时,IntelliJ会选择方

  • 这里我理解哈希(#)符号将定义为本地模板变量,但是前面的星号是什么意思呢?还有,有必要吗? 下面是使用括号的示例: 我有点理解周围的括号将它绑定到HTML属性/Angular指令。这是否意味着它们是Angular计算表达式的指针?就像是Angular 1中的的等价物? 我猜真正的问题是,这些符号在Angular 2中有特殊的含义吗,知道何时使用每一个的最简单的方法是什么?谢谢!!

  • 问题内容: 除了显而易见的事实,第一种形式可以使用变量而不仅仅是字符串文字,是否有理由在另一种形式上使用另一种形式?如果是这样,在哪种情况下? 在代码中: 上下文:我已经编写了一个代码生成器来生成这些表达式,我想知道哪种更好。 问题答案: 方括号符号允许使用点符号不能使用的字符: 包括非ASCII(UTF-8)字符,如。 其次,方括号表示法在处理以可预测的方式变化的属性名称时非常有用: Round