Python学习笔记:重复索引处理方法

一、介绍

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带有重复索引操作方法

原文地址:https://www.cnblogs.com/hider/p/15755676.html