- 解决Pandas中’Series’ object has no attribute ‘iget_value’和’DataFrame’ object has no attribute 'icol’报错
# -*- coding: utf-8 -*-
"""
Created on Sat Nov 17 22:47:14 2018
@author: muli
"""
from pandas import Series,DataFrame
import pandas as pd
import numpy as np
ser3=Series(range(5),
index=[-5,1,3,0,10])
print(ser3)
print("======")
# 由索引取值
# 不支持 原生态 索引
print(ser3[10])
print("++++++++++")
# df.loc的第一个参数是行标签,第二个参数为列标签(可选参数,默认为所有列标签),
# 两个参数既可以是列表也可以是单个字符,
# 如果两个参数都为列表则返回的是DataFrame,否则,则为Series。
#使用标签选取数据:
# df.loc[行标签,列标签]
# df.loc['a':'b']#选取ab两行数据
# df.loc[:,'one']#选取one列的数据
# 不支持原生态索引,只考虑 索引的标签
print(ser3.loc[1:0])
print("--------------------")
#Series.iget_value(i, axis=0)[source]
# DEPRECATED. Use .iloc[i] or .iat[i] instead
# iget_value()函数已被iat[]函数替代
print(ser3.iat[3])
print("~~~~~~~~~~~~~~~~~~~")
frame=DataFrame(np.arange(6).reshape(3,2),
index=[2,0,1])
print(frame)
print("~~~~~~~~~~~~~~~~~~~")
# 报错:'DataFrame' object has no attribute 'icol'
# 原因:icol is deprecated.
#print(frame.icol(0))
#iloc[:, i]
# 选取的是 列
print(frame.iloc[:, 1])
#iloc[i, :]
# 选取的是 行
#print(frame.iloc[1, :])