gpt4 book ai didi

python - 我不能按列名提取数据?

转载 作者:行者123 更新时间:2023-12-03 18:43:17 29 4
gpt4 key购买 nike

我刚开始使用 pandas 库。尽管我进行了研究,但我仍然没有弄清楚。我想提取名为 q 的列的数据。但它给出了一个错误。我该怎么做?

import pandas as pd
data = pd.read_excel('test1.xlsx')
df = pd.DataFrame(data)
print(df.loc[df['q']])

错误:

            Traceback (most recent call last):
File "c:/Users/sabca/visual studio code projects/webscraping/pandastest.py", line 11,
in <module>
print(df.loc[df['q']])
File "C:\Users\sabca\AppData\Local\Programs\Python\Python38\lib\site-
packages\pandas\core\indexing.py", line 879, in __getitem__
return self._getitem_axis(maybe_callable, axis=axis)
File "C:\Users\sabca\AppData\Local\Programs\Python\Python38\lib\site-
packages\pandas\core\indexing.py", line 1099, in _getitem_axis
return self._getitem_iterable(key, axis=axis)
File "C:\Users\sabca\AppData\Local\Programs\Python\Python38\lib\site-
packages\pandas\core\indexing.py", line 1037, in _getitem_iterable
keyarr, indexer = self._get_listlike_indexer(key, axis, raise_missing=False)
File "C:\Users\sabca\AppData\Local\Programs\Python\Python38\lib\site-
packages\pandas\core\indexing.py", line 1254, in _get_listlike_indexer
self._validate_read_indexer(keyarr, indexer, axis, raise_missing=raise_missing)
File "C:\Users\sabca\AppData\Local\Programs\Python\Python38\lib\site-
packages\pandas\core\indexing.py", line 1298, in _validate_read_indexer
raise KeyError(f"None of [{key}] are in the [{axis_name}]")
KeyError: "None of [Index(['qwe1', 'asdf1', 'adfs4', 'wer7', 'tyu1', 'ghfhg5'],
dtype='object')] are in the [index]"

最佳答案

修复 data/df 混淆

首先,真的不需要这条线

df = pd.DataFrame(data)

因为 data 已经是 pd.read_excel 函数返回的 Pandas DataFrame。

相反,我建议省略这一行并简单地使用以下内容(我将使用 df 来引用使用此函数生成的 Pandas DataFrame 以用于此答案的其余部分)。

df = pd.read_excel('test1.xlsx')

q 列返回 Pandas 系列

假设 q 是您的 df 中列的名称,那么:

df['q']

将返回表示列 q 的 Pandas 系列。

如果您想使用 df.loc,此索引方法将一系列行作为第一项返回,并将可选的列范围作为第二项。假设您要返回您可以使用的 q 列的所有行。

df.loc[:, 'q']

q 列返回值的 Numpy 数组

你可以使用:

df['q'].values

返回一个 Numpy 数组,其中包含存储在 q 列中的值。

关于python - 我不能按列名提取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64283735/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com