约定
import pandas as pd
from pandas import DataFrame
import numpy as np
Index
Index对象保存着索引标签数据,它可以快速找到标签对应的整数下标,其功能与Python的字典类似。
dict1={"Province":["Guangdong","Beijing","Qinghai","Fujiang"],
"year":[2018]*4,
"pop":[1.3,2.5,1.1,0.7]}
df1=DataFrame(dict1)
df1
代码结果
Province | pop | year | |
---|---|---|---|
0 | Guangdong | 1.3 | 2018 |
1 | Beijing | 2.5 | 2018 |
2 | Qinghai | 1.1 | 2018 |
3 | Fujiang | 0.7 | 2018 |
- 调用.columns返回DataFrame对象的列索引(即所有列标签):
col_index=df1.columns
col_index.values
代码结果:
array(['Province', 'pop', 'year'], dtype=object)
ind_index=df1.index
ind_index.values
代码结果:
array([0, 1, 2, 3], dtype=int64)
- Index对象可当做一维数组,适合Numpy数组的下标运算,但Index对象只是可读,创建后不可修改。
print(col_index[[1,2]])
print(ind_index[ind_index>1])
代码结果:
Index(['pop', 'year'], dtype='object')
Int64Index([2, 3], dtype='int64')
- index对象具有字典的映射功能,.get_loc(value)获得单值得下标,.get_indexer(values)获得一组值得下标,当值不存在则返回-1:
print(col_index.get_loc('pop'))
print(col_index.get_indexer(['pop','year']))
代码结果:
1
[1 2]
- Index对象调用Index()来创建,可传递给DataFrame对象的参数index和columns。因为Index是不可变的,因此多个DataFrame对象的索引可以是同个Index对象。
index=pd.Index(['a','b','c'])
df2=DataFrame(np.random.randint(1,10,(3,3)),index=index,columns=index)
df2
代码结果:
a | b | c | |
---|---|---|---|
a | 4 | 6 | 1 |
b | 8 | 6 | 9 |
c | 9 | 1 | 6 |
谢谢大家的浏览,
希望我的努力能帮助到您,
共勉!