《利用python进行数据分析》之整数索引

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mr_muli/article/details/84226604
  • 《利用python进行数据分析》之整数索引
# -*- coding: utf-8 -*-
"""
Created on Sat Nov 17 22:23:46 2018

@author: muli
"""

from pandas import Series,DataFrame
import pandas as pd
import numpy as np

#整数索引
#操作由整数索引的pandas对象常常会让新手抓狂,
#因为他们跟内置的python数据结构(如列表和元组)在索引语义上有些不同。
#例如,你可能认为下面的代码不会报错。
ser=Series(np.arange(3.))
print(ser)
print("------")
# 索引范围是[0,2]
print(ser[0])

print("++++++++++")
#虽然pandas会“求助于”整数索引,但是没有哪种方法能够既不引入bug,又能解决问题的。
#我们有一个含有0,1,2的索引,但是很难推断出用户想要什么:
ser2=Series(np.arange(3.),index=['a','b','c'])
print(ser2[-1])

print(ser.ix[:1])
print("++++++++++")

#如果需要可靠的,不考虑索引类型的,基于位置的索引,
#可以使用Series 的 iget_value 方法和DataFrame的irow和icol方法:

ser3=Series(range(5),
            index=[-5,1,3,0,10])

print(ser3)
print("======")
# 报错:'Series' object has no attribute 'iget_value'
#print(ser3.iget_value(2))
#loc
#print(ser3.loc(2))
print(ser3.iat[2])


print("*************************")
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])
# 选取的是 行
print(frame.iloc[1, :])

猜你喜欢

转载自blog.csdn.net/mr_muli/article/details/84226604
今日推荐