【说明】文章内容来自《机器学习入门——基于sklearn》,用于学习记录。若有争议联系删除。
创建series或DataFrame等对象时,索引都会被装换为Index对象。Index对象可以通过pandas.Index函数创建,也可以通过创建数据对象series、DataFrame时接收index(或column)参数创建,前者属于显式创建,后者属于隐式创建。
隐式创建中,通过访问index(或针对DataFrame的column)属性即可得到Index。创建的Index对象不可修改,保证了Index对象在各个数据结构之间的安全共享。
Index对象常用属性如下:
1.is_monotonic:当各元素均大于前一个元素时返回True。
【说明】新版本中,用is_monotonic_increasing代替该功能。
2.is_unique:当Index没有重复值时返回True。
import pandas as pd
df = pd.DataFrame({'col1': [1, 2, 3, 4], 'col2': [5, 6, 7, 8]}, index = ['a', 'b', 'c', 'd'])
print('df中的index:\n',df.index)
print('df中index各元素是否均大于前一个元素:\n',df.index.is_monotonic_increasing)
print('df中index各元素是否唯一:\n',df.index.is_unique)
【运行结果】
示例
import pandas as pd
df1 = pd.DataFrame({'col1': [0, 1, 2, 3]}, index = ['a', 'b', 'c', 'd'])
df2 = pd.DataFrame({'col2': [5, 6, 7, 8, 9]}, index = ['e', 'f', 'g', 'h', 'i'])
index1 = df1.index
index2 = df2.index
print('index1连接index2后的结果为:\n',index1.append(index2))
print('index1与index2的差集为:\n',index1.difference(index2))
print('index1与index2的交集为:\n',index1.intersection(index2))
print('index1与index2的并集为:\n',index1.union(index2))
print('index1中各元素是否在index2中:\n',index1.isin(index2))
print(index1.delete(2))#删除制定index元素
【运行结果】