Lleims Asked: 2020-09-11 07:08:05 +0800 CST 2020-09-11 07:08:05 +0800 CST 2020-09-11 07:08:05 +0800 CST 从数据框中获取值。熊猫 772 我有一个具有以下形式的数据框 我想获得特定列的值。为此,我使用.loc但我错了。你能帮我么? import pandas as pd data = pd.read_csv('data/marcas.csv') marcas = pd.DataFrame(data) print(marcas.loc[1, 'pull ups']) 如果我做一个print标记它工作正常,但如果我想看到一个特定的列它会失败。 python 2 Answers Voted Best Answer Adrián Sanz Wallace 2020-09-11T07:43:36+08:002020-09-11T07:43:36+08:00 在你的情况下,它不适合你,因为你放了一个 1,所以它会在标题之后返回第二行,因为只有一行,所以它失败了。放一个 0 应该没问题: print(marcas.loc[0, 'pull ups']) 如果您想要查看整个列,您可以这样尝试: print(marcas['pull ups']) 如果您想访问该列的特定行,另一种方法可能是这样的: print(marcas['pull ups'][0]) 就像您的情况一样,放置 [0] 会给您第一行,放置 [1] 会返回第二行,依此类推。 Rubiales Alberto 2020-09-11T08:11:36+08:002020-09-11T08:11:36+08:00 要查看 pandas 中的列,您必须将数据框的名称和列的名称放在方括号中,在您的情况下,它将是这样的: marcas['A'] #vemos la columna A loc用于通过索引查看行的值,它是这样的: marcas.loc[1] #vemos la primera fila 可以同时使用这两种操作来搜索一行中的特定列(我认为这是你的情况) marcas.loc[1]['B'] #obtenemos de la fila 1 la columna B 您还可以选择一行并选择几列,这一次是一个数据框,您将需要一个双括号: marcas.loc[1][['B', 'D']] #obtenemos para la fila 1 los valores de las columnas B y D 您甚至可以使用称为“切片”的技术选择多个: marcas.loc[3:7]['B'] #obtenemos para las filas desde la 3 a la 7, la columna B 正如你所看到的,Python 和 Pandas 为我们提供了多种不同的方式来快速轻松地访问 DataFrame 的数据(这里我只给你留下了一些),有几十种切片和索引技术,这是一个世界。
在你的情况下,它不适合你,因为你放了一个 1,所以它会在标题之后返回第二行,因为只有一行,所以它失败了。放一个 0 应该没问题:
如果您想要查看整个列,您可以这样尝试:
如果您想访问该列的特定行,另一种方法可能是这样的:
就像您的情况一样,放置 [0] 会给您第一行,放置 [1] 会返回第二行,依此类推。
要查看 pandas 中的列,您必须将数据框的名称和列的名称放在方括号中,在您的情况下,它将是这样的:
正如你所看到的,Python 和 Pandas 为我们提供了多种不同的方式来快速轻松地访问 DataFrame 的数据(这里我只给你留下了一些),有几十种切片和索引技术,这是一个世界。