首页Python【Python数据分析】2...

【Python数据分析】22.含有重复标签的轴索引


本系列文章配套代码获取有以下三种途径:

  • 可以在以下网站查看,该网站是使用JupyterLite搭建的web端Jupyter环境,因此无需在本地安装运行环境即可使用,首次运行浏览器需要下载一些配置文件(大约20M):

https://returu.github.io/Python_Data_Analysis/lab/index.html
链接:https://pan.baidu.com/s/1MYkeYeVAIRqbxezQECHwcA?pwd=mnsj 提取码:mnsj
  • 前往GitHub详情页面,单击 code 按钮,选择Download ZIP选项:
https://github.com/returu/Python_Data_Analysis

根据《Python for Data Analysis 3rd Edition》翻译整理

—————-————————————-

到目前为止,几乎所有示例都具有唯一的轴标签(索引值)。尽管Pandas的许多功能(例如 reindex )要求标签是唯一的,但这不是强制性的。

例如,下面是一个带有重复索引的Series 对象

1>>> obj = pd.Series(np.arange(5), index=["a""a""b""b""c"])
2>>> obj
3a    0
4a    1
5b    2
6b    3
7c    4
8dtype: int32

索引的 is_unique 属性可以判断标签是否唯一。

1>>> obj.index.is_unique
2False

带有重复索引的情况下,数据选择是与之前操作不同的主要情况。

根据轴标签索引多个条目时会返回一个序列,而单条目会返回标量值。

这会使得代码更加复杂,因为索引的输出类型可能会根据标签是否重复而有所不同。

1>>> obj["b"]
2b    2
3b    3
4dtype: int32
5
6>>> obj["c"]
74

相同的逻辑也会扩展到索引 DataFrame 中的行(或列)。

 1>>> df = pd.DataFrame(np.array([[4,7,-3],[-5,2,1],[2,5,6],[7,9,8]]) , index=["a","b","b","c"] , columns=["X","Y","Z"])
2>>> df
3   X  Y  Z
4a  4  7 -3
5b -5  2  1
6b  2  5  6
7c  7  9  8
8
9>>> df.index.is_unique
10False
11
12>>> df.loc["b"]
13   X  Y  Z
14b -5  2  1
15b  2  5  6


本篇文章来源于微信公众号: 码农设计师

RELATED ARTICLES

欢迎留下您的宝贵建议

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Recent Comments