Python dataframe取单元值

发布时间:2024年01月14日

取dataframe某行某列所指的单元值

代码准备:
环境平台:Python 3.7.1 -IDLE Shell

>>> import pandas as pd
>>> df = pd.DataFrame({'Name': ['Tom', 'Jim', 'Lily'], 'Age': [20, 18, 22], 'Gender': ['Male', 'Male', 'Female']})

注:部分参考了:https://www.python100.com/html/116332.html

使用.at函数(行列-按索引名)

>>> value = df.at[1, 'Age']
>>> value
18
>>> type(value)
<class 'numpy.int64'>

使用.iat函数,行列-按索引(号)

>>> value = df.iat[1, 0]
>>> value
'Jim'
>>> 

错误表达

示例1:

>>> value = df.at[1, 0]
Traceback (most recent call last):
  File "D:\Program Files\Python371\lib\site-packages\pandas\core\indexes\base.py", line 3361, in get_loc
    return self._engine.get_loc(casted_key)
  File "pandas\_libs\index.pyx", line 76, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 5198, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 5206, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 0

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    value = df.at[1, 0]
  File "D:\Program Files\Python371\lib\site-packages\pandas\core\indexing.py", line 2275, in __getitem__
    return super().__getitem__(key)
  File "D:\Program Files\Python371\lib\site-packages\pandas\core\indexing.py", line 2222, in __getitem__
    return self.obj._get_value(*key, takeable=self._takeable)
  File "D:\Program Files\Python371\lib\site-packages\pandas\core\frame.py", line 3568, in _get_value
    series = self._get_item_cache(col)
  File "D:\Program Files\Python371\lib\site-packages\pandas\core\frame.py", line 3884, in _get_item_cache
    loc = self.columns.get_loc(item)
  File "D:\Program Files\Python371\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc
    raise KeyError(key) from err
KeyError: 0

示例2

>>> value = df.iat[1, 'Age']
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    value = df.iat[1, 'Age']
  File "D:\Program Files\Python371\lib\site-packages\pandas\core\indexing.py", line 2221, in __getitem__
    key = self._convert_key(key)
  File "D:\Program Files\Python371\lib\site-packages\pandas\core\indexing.py", line 2299, in _convert_key
    raise ValueError("iAt based indexing can only have integer indexers")
ValueError: iAt based indexing can only have integer indexers
>>> 
文章来源:https://blog.csdn.net/www_djh/article/details/135580836
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。