解决Pandas中'Series' object has no attribute 'iget_value'和'DataFrame' object has no attribute 'icol'报错

  • 解决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, :])

你可能感兴趣的:(python)