重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
loc中的数据是列名,是字符串,所以前后都要取;iloc中数据是int整型,所以是Python默认的前闭后开
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的哈尔滨网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
构建数据集df
loc函数主要通过行标签索引行数据 ,划重点, 标签!标签!标签!
loc[1] 选择行标签是1的(从0、1、2、3这几个行标签中)
loc[0:1] 和 loc[0,1]的区别,其实最重要的是loc[0:1]和iloc[0:1]
索引某一列数据,loc[:,0:1],还是标签,注意,如果列标签是个字符,比如'a',loc['a']是不行的,必须为loc[:,'a']。
但如果行标签是'a',选取这一行,用loc['a']是可以的。
iloc 主要是通过行号获取行数据,划重点,序号!序号!序号!
iloc[0:1],由于Python默认是前闭后开,所以,这个选择的只有第一行!
如果想用标签索引,如iloc['a'],就会报错,它只支持int型。
ix——结合前两种的混合索引,即可以是行序号,也可以是行标签。
如选择prize10(prize为一个标签)的,即 df.loc[df.prize10]
还有并或等操作
python选取特定列——pandas的iloc和loc以及icol使用
pandas入门——loc与iloc函数
pandas中loc、iloc、ix的区别
pandas基础之按行取数(DataFrame)
提取日期数据基本语法
from WindPy import w
w.start()
当出现.ErrorCode==-103说明没连接上,要start一下
w.wsd(security, fields, startDate = None, endDate= None , options = None)
opion 可选(period, 日期类型, 货币类型,前后复权)
提取财务数据基本语法
w.wss(security, fields, options = None)
提取板块日序列基本语法
w.wses(sectorCode, fields, startDate = None, endDate = None, options = None)
提取板块日截面数据基本语法
w.wsee(sectorCode, fields, options=None)
提取宏观数据基本语法
w.edb(codes, startDate =None, endDate =None, options=None)
1.日期序列基本语法
ts.get_hist_data(stock,start,end)
注意:1.stock不能是集合,只能单个股票 2.需要带上.sz或.sh 3.没有field,只能取出数据后再切除.
2.pro用法
pro.daily(code, start, end, fields)
tushare引用语句
弊端也很明显,一方面不能stock集合输入,一次只能调取一个股票对应数据,另一方面tushare虽是免费试用,但有权限限制。
基本语法
wb.get_data_yahoo(code, start, end)
wb.DataReader(code, 'yahoo', start, end)
没法添加fields, 虽能集合适用,但出来的索引挺奇怪的
推荐使用定义函数或用for循环批量获取数据
总体感觉wind api最舒服,但需要账号,mac也不能直接调用wind api。还是推荐tushare的pro用法。
小白学习中,请指教=v=
该方法使用最基本的open函数进行读取,此处将会把数据读取到一个列表中,这个方法一般就是open打开文件、read读取文件、close关闭文件3个步骤,主要代码如下:
def openreadtxt(file_name):
data = []
file = open(file_name,'r') #打开文件
file_data = file.readlines() #读取所有行
for row in file_data:
tmp_list = row.split(' ') #按‘,’切分每行的数据
#tmp_list[-1] = tmp_list[-1].replace('\n',',') #去掉换行符
data.append(tmp_list) #将每行数据插入data中
return data
if __name__=="__main__":
data = openreadtxt('test.txt')
print(data)
结果如下图,已经成功打印出txt数据,这里默认读取的都是字符串类型,需要的话,可以进行类型转换,int,float都行:

方法二:使用numpy包的loadtxt方法
使用numpy包的loadtxt方法(在处理实验数据中经常用到),numpy是python的一个科学库,至于安装教程参考python中的NumPy_ggj0727的博客-CSDN博客,使用loadtxt方法读取txt文件主要代码如下(这里要求的数据必须是数字,不能是字母等字符,不然会报错,因为numpy本身是做计算的,所以读取的数据已经转化为数值类型,非字符串,这种方法在处理实验数据中经常会用到,简单快捷)︰
import numpy as np
def loadtxtmethod(filename):
data = np.loadtxt(filename,dtype=np.float32,delimiter=',')