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 是listresult = 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)