DataFrame的索引选项
obj[val] | 选取DataFrame的单个列或一组列。在某一些特殊情况下或比较便利:布尔值数组(过滤行)、切片(行切片)、 | obj.ix[val] | 布尔型DataFrame的单个行或一组列 | obj.ix[:,val] | 选取单个列或列子集 | obj.ix[val1,val2] | 同时选取行和列 | reindex方法 | 将一个或多个轴匹配到新的索引 | xs方法 | 根据标签选取单行或单列、并返回一个Series | icol、irow方法 | 根据整数位置选取单列或单行、并返回一个Series | _get_value,_set_value | 根据行标签或列标签选取单个值 |
描述和汇总统计方法
count | 非NA值的数量 | describe | 针对Series或各DataFrame列计算的汇总 | min、max | 计算最小值 | argmin、argmax | 计算能够获得到最小值和最大值的索引位置(整数) | idxmin、idxmax | 计算获得最小值和最大值的索引值 | quantile | 计算样本的分位数 | sum | 值的总和 | mean | 值的平均数 | median | 值的算数中位数(50%分位数) | mad | 根据平均值计算平均绝对离差 | var | 样本值的方差 | std | 样本值的标准差 | skew | 样本值的偏度(三阶矩) | kurt | 样本值的峰度 | cumsum | 样本值的累计和 | cummin、cummax | 样本值的累计最大值和累计最小值 | cumprod | 样本值的累计积 | diff | 计算一阶差分(对时间序列很有用) | pct_change | 计算百分数变化 |
简单使用其中一个方法获取股票历史数据中的最高价和最低价
def tiingo_history(id):
headers = {
'Content-Type': 'application/json',
'Authorization' : 'Token dff6a6f94862a7ee9aaddb4748c3fd1739ab6bf5'
}
#获取股票历史信息
requestResponse = requests.get("https://api.tiingo.com/tiingo/daily/"+id+"/prices?startDate=2018-01-02&token=dff6a6f94862a7ee9aaddb4748c3fd1739ab6bf5",headers=headers)
# {'date': '2020-04-03T00:00:00.000Z', 'close': 241.41, 'high': 245.7, 'low': 238.9741, 'open': 242.8, 'volume': 32470017, 'adjClose': 241.41, 'adjHigh': 245.7, 'adjLow': 238.9741, 'adjOpen': 242.8,'adjVolume': 32470017, 'divCash': 0.0, 'splitFactor': 1.0}
# '2020-04-03T00:00:00.000Z', 'close': 30.78, 'high': 31.12, 'low': 30.13, 'open': 30.6, 'volume': 70059740, 'adjClose': 30.78, 'adjHigh': 31.12, 'adjLow': 30.13, 'adjOpen': 30.6, 'adjVolume': 70059740, 'divCash': 0.0, 'splitFactor': 1.0
#日期,该日期的收盘价,最高价,最低价,开盘价,交易股票数量,资产调整后的收盘价,资产调整后的最高价,资产调整后的开最低价,资产调整后的开盘价,资产交易的股票数量,在“日期”支付的股息(请注意,“日期”将是股息的“到期日”),公司拆分、反向拆分或支付分配时用于调整价格的因素。
# result 是list
result = requestResponse.json()
return result
def get_math_info(id):
all_data=tiingo_history(id)
data=DataFrame(all_data)
for i in range(len(data)):
data._set_value(i,'date',data._get_value(i,'date')[0:10])
# print(data)
low =data['low']
#获取股票每日最低价中的最小值,即历史最低值
print(id+'历史最低值:')
print(low.min())
#获取股票每日最高价中的最大值,即历史最高值
high=data['high']
print(id+'历史值最高值:')
print(high.max())
#将时间date这一列指定为索引,
data.set_index(["date"], inplace=True)
print(data)
|