如何访问pandas DataFrame中的指定元素和整行数据
pandas 针对按位置选取数据的需求,统一通过iloc属性实现,你的两个需求都可以用它完成:
- 取索引为0的整行数据
写法为df.iloc[0],返回结果是行位置为0的整行数据,格式为pandas Series。对应你给出的测试数据,返回内容为:col1 1 col2 3 Name: 0, dtype: int64 - 取第一行第一列的元素(位置从0开始计数)
写法为df.iloc[0, 0],直接返回对应位置的数值,你的测试数据中返回结果为1。
你之前写法的错误原因
- 带圆括号的写法比如
df(1,1)、df(1,:)完全不符合语法规则,圆括号在Python中是函数调用的标识,DataFrame不是可调用对象,这么写会直接抛出类型错误。 df[1,1]的写法不符合pandas默认[]运算符的规则,直接传入元组的话,pandas会把整个元组当做列名去匹配,你没有对应名称的列自然会报错。
文档查询方式
你查看的DataFrame总API页不会包含具体的索引操作说明,相关内容可以在pandas官方文档的「索引与数据选择」章节,以及pandas.DataFrame.iloc的单独API说明页中找到,里面覆盖了切片、取单个值、取整行/整列、取多行/多列的所有用法示例。
内容的提问来源于stack exchange,提问作者Henry
相关产品推荐
相关产品推荐

