学习 pandas [02]: 二进制操作

title: 学习 pandas [02]: 二进制操作 slug: er-jin-zhi-cao-zuo date: 2021-1-23 tags: Pandas Jupyter python category: 数据分析 link: description: type: text 二进制操作 Pandas数据结构之间执行二进制操作,要注意下列两个关键点: DataFrame与Series之间的广播机制; 计算中的缺失值处理。 加、减、乘、除、取模 DataFrame支持以下运算操作中对Series进行广播: add():加 sub():减 mul():乘 div():除 radd() rsub() 在以上方法使用中,通过axis参数,指定沿index或columns广播。 ...

2021年1月23日 · 4 分钟 · tsingk

学习 pandas [01]: 数据结构

title: 学习 pandas [01]: 数据结构 slug: series-and-dataframe date: 2020-12-27 tags: Pandas Jupyter python category: 数据分析 link: description: type: text 数据结构 pandas的数据类型主要有: Series,类似一维数组 DataFrame,类似二维数组 Series 创建Series 1 pd.Series(data, index=index) data:可以是字典、一维数组、标量 index:索引列表,可以理解为行标签,根据Data的类型而不同。 通过字典创建Series 1 2 3 4 5 6 7 import numpy as np import pandas as pd # 通过字典创建,自动采用键值作为索引,若不指定index,则顺序同字典 d = {'b': 1, 'a': 0, 'c': 2} s = pd.Series(d) s b 1 a 0 c 2 dtype: int64 1 2 3 4 # 通过字典创建,自动采用键值作为索引,若指定index(包含键值),则顺序同index # index中若含有字典中不存在的键值,则Series中对应的值为NaN s = pd.Series(d, index=['a', 'b', 'c', 'd']) s a 0.0 b 1.0 c 2.0 d NaN dtype: float64 通过一维数组创建Series 1 2 3 4 5 l = np.random.randn(6) # 若不指定index,则自动生成数值型索引 s = pd.Series(l) s 0 0.215224 1 0.803700 2 1.141428 3 0.526450 4 0.577533 5 1.051918 dtype: float64 1 2 3 # 若指定index,则长度必须与数组相同 s = pd.Series(l, index=['a', 'b', 'c', 'd', 'e', 'f']) s a 0.215224 b 0.803700 c 1.141428 d 0.526450 e 0.577533 f 1.051918 dtype: float64 通过标量值创建Series 此方法创建出的Series,每行值都相同。 ...

2020年12月27日 · 4 分钟 · tsingk

利用 Python 计算基金组合指数

练习Python,计算指数基金组合对应的指数,并绘制变化趋势。 基金组合信息 基金组合中一共有 7 支基金,分别为a,b,c,d,e,f,g。创建一个 Dataframe 用来存放各支基金在组合中的份额占比以及跟踪的指数。指数代码从新浪财经查找。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import pandas as pd data1 = {'rate': [0.2097, 0.0989, 0.0966, 0.0884, 0.2174, 0.1906, 0.0984], 'indexname': ['上证指数', '中证500', '沪深300', '上证指数', '上证指数', '深证金融地产行业指数', '上证指数'], 'indexnum': ['sh000001', 'sh000905', 'sh000300', 'sh000001', 'sh000001', 'sz399619', 'sh000001'] } df1 = pd.DataFrame(data1, index=list('abcdefg')) display(df1) rate indexname indexnum a 0.2097 上证指数 sh000001 b 0.0989 中证500 sh000905 c 0.0966 沪深300 sh000300 d 0.0884 上证指数 sh000001 e 0.2174 上证指数 sh000001 f 0.1906 深证金融地产行业指数 sz399619 g 0.0984 上证指数 sh000001 获取各指数历史数据 利用 AkShare 获取各指数的历史数据。因为股票基金是以收盘价定价,所以只需要各指数的收盘价来合成基金组合的对应指数。 ...

2020年11月13日 · 3 分钟 · tsingk