本系列文章配套代码获取有以下三种途径:
-
可以在以下网站查看,该网站是使用JupyterLite搭建的web端Jupyter环境,因此无需在本地安装运行环境即可使用,首次运行浏览器需要下载一些配置文件(大约20M):
https://returu.github.io/Python_Data_Analysis/lab/index.html
-
也可以通过百度网盘获取,需要在本地配置代码运行环境,环境配置可以查看【Python基础】2.搭建Python开发环境:
链接: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
本篇文章来源于微信公众号: 码农设计师