Python - 有效访问 Pandas 数据框的列

标签 python python-3.x pandas

我使用 Python Pandas 已经有一段时间了,现在盯着下面的两个命令思考两者之间的区别。

df1['Col1']          #Shows only the values of 'Col1' from df1 dataframe.
df1[['Col1','Col2']] #Shows the values of both 'Col1' and 'Col2' from df1 dataframe.

我的问题是,当我们能够借助单个方括号 ('[ ]') 访问列时,为什么我们不能对访问多列执行相同的操作。我尝试使用以下命令并遇到错误。

df1['Col1','Col2']   #Encountered error

最佳答案

通常 pandas 在使用 [] 选择数据时采用一个索引值。传递一个列名或传递一个列名列表。当您传递两个值时,它将被视为一个元组,并将在数据框中搜索相同的值。在某些情况下,元组用作列名。这就是为什么会出现关键错误的原因。

你可以有一个像 df['Col1','Col2'] = 'x' 这样的列名然后这个 df['Col1','Col2']将工作。为了避免这种歧义,需要将多个列名作为列表传递。

关于Python - 有效访问 Pandas 数据框的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46483035/

相关文章:

python - 使用 raw_input() 时,在 bash 中使用 > 保存 Python 脚本的输出

python - 从 Python 执行 cpp 文件

python - 获取放置在字符串内的信息 'randomly'

python - 将分钟数据转换为每小时数据

python - 单元格中的 Pandas 字符串到新行

python - 为什么 select_dtypes 在这种情况下在 pandas 中不起作用

python - 允许用户输入 python 的 __import__ 会存在安全风险吗?

python - numpy argpartition 如何处理文档示例?

python - 如何省略具有空(非零)值的键

python-3.x - 从 conftest.py 中的 cmdline 选项生成的列表的 Pytest 参数化测试