一、介绍
Pandas
数据框中的索引可以重复,因此切片取数时需注意。
二、实操
1.判断索引是否重复
Series
索引重复判断
import pandas as pd
import numpy as np
# 重复索引 是否唯一
s = pd.Series([1,2,3,4,5], index=['a','a','b','c','d'])
s.index.is_unique # False
DataFrame
索引重复判断
a = np.arange(9).reshape(3,3)
data = pd.DataFrame(a,
index=['a','b','c'],
columns=['one','two','one'])
# 行索引是否重复
data.index.is_unique # True
# 列索引是否重复
data.columns.is_unique # False
2.索引取值
如果一个索引对应多个值,Series
返回的是一个 Series
。
如果一个索引对应一个值,Series
返回的是一个标量。
DataFrame
返回的始终是一个 DataFrame
。
Series
索引取值
s = pd.Series([1,2,3,4,5], index=['a','a','b','c','d'])
type(s['a']) # pandas.core.series.Series
s['a']
'''
a 1
a 2
dtype: int64
'''
DataFrame
索引取值
a = np.arange(9).reshape(3,3)
data = pd.DataFrame(a,
index=['a','b','c'],
columns=['one','two','one'])
type(data.loc['b']) # pandas.core.series.Series
data['one']
'''
one one
a 0 2
b 3 5
c 6 8
'''
参考链接:pandas带有重复索引操作方法