python如何将聚宽平台数据倒到本地文件进行

2024-05-16 13:03

1. python如何将聚宽平台数据倒到本地文件进行

下载JQData压缩包,解压压缩包,打开终端并切换到jqdatasdk-master文件中setup.py所在的目录下,执行 python setup.py install,也能完成安装。

python如何将聚宽平台数据倒到本地文件进行

2. 大量数据怎么导入python进行计算

适合大数据处理。而不是大数据量处理。 如果大数据量处理,需要采用并用结构,比如在hadoop上使用python,或者是自己做的分布式处理框架。 大数据量处理使用python的也多。如果单机单核单硬盘大数据量(比如视频)处理。显然只能用c/c++语言了。...

3. 如何打开导入的数据 python

如何打开导入的数据 python
python3.2 ==> ORM(或者,数据库接口) ==> 数据库

数据库:PostgreSQL9、SQLite3等

ORM:SQLAlchemy(需要安装数据库接口)
数据库接口:psycopg2(PostgreSQL9)

建议使用ORM,这样在创建、修改、删除时,只涉及python的类对象,无需写sql语句。
以后修改了数据表结构时,对程序的修改也方便些。
如果表间的关系特别复杂,也可在ORM中,直接写sql语句。

如何打开导入的数据 python

4. python怎么导入自己写的模块

把自写模块和当前的python文件放在同一个文件夹,然后通过如下语句导入:
from . import module_name

5. 怎么用python进行数据

pandas是本书后续内容的首选库。pandas可以满足以下需求:
具备按轴自动或显式数据对齐功能的数据结构。这可以防止许多由于数据未对齐以及来自不同数据源(索引方式不同)的数据而导致的常见错误。.
集成时间序列功能
既能处理时间序列数据也能处理非时间序列数据的数据结构
数学运算和简约(比如对某个轴求和)可以根据不同的元数据(轴编号)执行
灵活处理缺失数据
合并及其他出现在常见数据库(例如基于SQL的)中的关系型运算
1、pandas数据结构介绍
两个数据结构:Series和DataFrame。Series是一种类似于以为NumPy数组的对象,它由一组数据(各种NumPy数据类型)和与之相关的一组数据标签(即索引)组成的。可以用index和values分别规定索引和值。如果不规定索引,会自动创建 0 到 N-1 索引。

#-*- encoding:utf-8 -*-import numpy as npimport pandas as pdfrom pandas import Series,DataFrame#Series可以设置index,有点像字典,用index索引obj = Series([1,2,3],index=['a','b','c'])#print obj['a']#也就是说,可以用字典直接创建Seriesdic = dict(key = ['a','b','c'],value = [1,2,3])dic = Series(dic)#下面注意可以利用一个字符串更新键值key1 = ['a','b','c','d']#注意下面的语句可以将 Series 对象中的值提取出来,不过要知道的字典是不能这么做提取的dic1 = Series(obj,index = key1)#print dic#print dic1#isnull 和  notnull 是用来检测缺失数据#print pd.isnull(dic1)#Series很重要的功能就是按照键值自动对齐功能dic2 = Series([10,20,30,40],index = ['a','b','c','e'])#print dic1 + dic2#name属性,可以起名字dic1.name = 's1'dic1.index.name = 'key1'#Series 的索引可以就地修改dic1.index = ['x','y','z','w']
DataFrame是一种表格型结构,含有一组有序的列,每一列可以是不同的数据类型。既有行索引,又有列索引,可以被看做由Series组成的字典(使用共同的索引)。跟其他类似的数据结构(比如R中的data.frame),DataFrame面向行和列的操作基本是平衡的。其实,DataFrame中的数据是以一个或者多个二维块存放的(不是列表、字典或者其他)。

#-*- encoding:utf-8 -*-import numpy as npimport pandas as pdfrom pandas import Series,DataFrame#构建DataFrame可以直接传入等长的列表或Series组成的字典#不等长会产生错误data = {'a':[1,2,3],        'c':[4,5,6],        'b':[7,8,9]}#注意是按照列的名字进行列排序frame = DataFrame(data)#print frame#指定列之后就会按照指定的进行排序frame = DataFrame(data,columns=['a','c','b'])print frame#可以有空列,index是说行名frame1 = DataFrame(data,columns = ['a','b','c','d'],index = ['one','two','three'])print frame1#用字典方式取列数据print frame['a']print frame.b#列数据的修改直接选出来重新赋值即可#行,可以用行名或者行数来进行选取print frame1.ix['two']#为列赋值,如果是Series,规定了index后可以精确赋值frame1['d'] = Series([100,200,300],index = ['two','one','three'])print frame1#删除列用del 函数del frame1['d']#警告:通过列名选出来的是Series的视图,并不是副本,可用Series copy方法得到副本
另一种常见的结构是嵌套字典,即字典的字典,这样的结构会默认为外键为列,内列为行。

#-*- encoding:utf-8 -*-import numpy as npimport pandas as pdfrom pandas import Series,DataFrame#内层字典的键值会被合并、排序以形成最终的索引pop = {'Nevada':{2001:2.4,2002:2.9},       'Ohio':{2000:1.5,2001:1.7,2002:3.6}}frame3 = DataFrame(pop)#rint frame3#Dataframe也有行和列有name属性,DataFrame有value属性frame3.index.name = 'year'frame3.columns.name = 'state'print frame3print frame3.values
下面列出了DataFrame构造函数能够接受的各种数据。

索引对象

#-*- encoding:utf-8 -*-import numpy as npimport pandas as pdfrom pandas import Series,DataFrame#pandas索引对象负责管理轴标签和其他元数据,构建Series和DataFrame时,所用到的任何数组或其他序列的标签都被转换为Indexobj = Series(range(3),index = ['a','b','c'])index = obj.index#print index#索引对象是无法修改的,这非常重要,因为这样才会使得Index对象在多个数据结构之间安全共享index1 = pd.Index(np.arange(3))obj2 = Series([1.5,-2.5,0],index = index1)print obj2.index is index1#除了长得像数组,Index的功能也类似一个固定大小的集合print 'Ohio' in frame3.columnsprint 2003 in frame3.index
pandas中的Index是一个类,pandas中主要的Index对象(什么时候用到)。

下面是Index的方法与属性,值得注意的是:index并不是数组。

2、基本功能
下面介绍基本的Series 和 DataFrame 数据处理手段。首先是索引:

#-*- encoding:utf-8 -*-import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrame#Series有一个reindex函数,可以将索引重排,以致元素顺序发生变化obj = Series([1,2,3,4],index=['a','b','c','d'])#注意这里的reindex并不改变obj的值,得到的是一个“副本”#fill_value 显然是填充空的index的值#print obj.reindex(['a','c','d','b','e'],fill_value = 0)#print objobj2 = Series(['red','blue'],index=[0,4])#method = ffill,意味着前向值填充obj3 = obj2.reindex(range(6),method='ffill')#print obj3#DataFrame 的reindex可以修改行、列或者两个都改frame = DataFrame(np.arange(9).reshape((3,3)),index = ['a','c','d'],columns = ['Ohio','Texas','California'])#只是传入一列数,是对行进行reindex,因为...frame的行参数叫index...(我这么猜的)frame2 = frame.reindex(['a','b','c','d'])#print frame2#当传入原来没有的index是,当然返回的是空NaN#frame3 = frame.reindex(['e'])#print frame3states = ['Texas','Utah','California']#这是对行、列重排#注意:这里的method是对index 也就是行进行的填充,列是不能填充的(不管method的位置如何)frame4 = frame.reindex(index = ['a','b','c','d'],columns=states,method = 'ffill')#print frame4#使用ix的标签索引功能,重新索引变得比较简洁print frame.ix[['a','d','c','b'],states]


丢弃指定轴上的项

#-*- encoding:utf-8 -*-import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrame#drop函数可以丢弃轴上的列、行值obj = Series(np.arange(3.),index = ['a','b','c'])#原Series并不丢弃obj.drop('b')#print obj#注意下面,行可以随意丢弃,列需要加axis = 1print frame.drop(['a'])print frame.drop(['Ohio'],axis = 1)
下面说索引、选取和过滤

#-*- encoding:utf-8 -*-import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrameobj = Series([1,2,3,4],index=['a','b','c','d'])frame = DataFrame(np.arange(9).reshape((3,3)),index = ['a','c','d'],columns = ['Ohio','Texas','California'])#Series切片和索引#print obj[obj  0]#注意下面的逗号后面是列标print frame.ix[frame.Ohio > 0,:2]
下面是常用的索引选项:


算术运算和数据对齐

#pandas 有一个重要的功能就是能够根据索引自动对齐,其中索引不重合的部分值为NaNs1 = Series([1,2,3],['a','b','c'])s2 = Series([4,5,6],['b','c','d'])#print s1 + s2df1 = DataFrame(np.arange(12.).reshape(3,4),columns=list('abcd'))df2 = DataFrame(np.arange(20.).reshape(4,5),columns=list('abcde'))#print df1 + df2#使用add方法,并传入填充值,注意下面的fill_value函数是先对应填充再进行加和,而不是加和得到NaN之后再填充#print df1.add(df2,fill_value = 1000)#df1.reindex(columns = df2.columns,fill_value=0)
除了add之外,还有其他的方法:

DataFrame和Series之间的运算

#下面看一下DataFrame和Series之间的计算过程arr = DataFrame(np.arange(12.).reshape((3,4)),columns = list('abcd'))#下面的结果标明,就是按行分别相减即可,叫做 broadcasting#注意:默认情况下,DataFrame和Series的计算会将Series的索引匹配到DataFrame的列,然后进行计算,再沿着行一直向下广播#注意:下面的式子中,如果写arr - arr[0]是错的,因为只有标签索引函数ix后面加数字才表示行print arr - arr.ix[0]Series2 = Series(range(3),index = list('cdf'))#按照规则,在不匹配的列会形成NaN值print arr + Series2#如果想匹配行且在列上广播,需要用到算术运算方法Series3 = arr['d']#axis就是希望匹配的轴print arr.sub(Series3,axis = 0)
下面是函数应用和映射

#-*- encoding:utf-8 -*-import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrame#NumPy的元素级数组方法也适用于pandas对象frame = DataFrame(np.random.randn(4,3),columns = list('abc'),index = ['Ut','Oh','Te','Or'])print frame#下面是求绝对值:#print np.abs(frame)#另一种常见的做法是:将一个函数应用到行或者列上,用apply方法,与R语言类似fun = lambda x:x.max() - x.min()#默认是应用在每一列上print frame.apply(fun)#下面是应用在列上print frame.apply(fun,axis = 1)#很多统计函数根本不用apply,直接调用方法就可以了print frame.sum()#除了标量值之外,apply函数后面还可以接返回多个值组成的的Series的函数,有没有很漂亮?def f(x):    return Series([x.min(),x.max()],index = ['min','max'])#print frame.apply(f)#元素级的python函数也是可以用的,但是要使用applymap函数format = lambda x: '%.2f' % xprint frame.applymap(format)#之所以要用applymap是因为Series有一个应用于元素级函数的map方法??#这里的map很有用print frame['b'].map(format)
排序与排名

#-*- encoding:utf-8 -*-import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrame#用sort_index函数对行、列的索引进行排序obj = Series(range(4),index = ['d','a','b','c'])print obj.sort_index()frame = DataFrame(np.arange(8).reshape((2,4)),index = ['three','one'],columns = ['d','a','b','c'])#默认是对行 “索引” 进行排序,如果对列 “索引” 进行排序,axis = 1 即可print frame.sort_index()print frame.sort_index(axis = 1)print frame.sort_index(axis = 1,ascending = False)#如果对值进行排序,用的是order函数,注意所有的缺失值会放到最后(如果有的话)print obj.order()#numpy中的sort也可以用来排序print np.sort(obj)#如果相对DataFrame的值进行排序,函数还是sort_index,只不过后面需要加一个参数byframe = DataFrame({'b':[4,7,-3,2],'a':[0,1,0,1]})print frame.sort_index(by = ['a','b'])#rank函数返回从小到大排序的下标,对于平级的数,rank是通过“为各组分配一个平均排名”的方式破坏评级关系#下标从1开始obj = Series([7,-5,7,4,2,0,4])print obj.rank()#而numpy中的argsort函数比较奇怪,返回的是把数据进行排序之后,按照值得顺序对应的下标,下标从0开始print np.argsort(obj) #打印结果为:1,5,4,3,6,0,2 按照这个下标顺序恰好可以得到从小打到的值,见下面print obj[np.argsort(obj)]#rank函数中有一个method选项,用来规定下标的方式print obj.rank(method = 'first',ascending=False)print obj.rank(method = 'max',ascending=False)print obj.rank(method = 'min',ascending=False)#对于DataFrame,rank函数默认把每一列排好并返回坐标print frame.rank()print frame.rank(axis = 1)
带有重复值的轴索引

#-*- encoding:utf-8 -*-import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrame#虽然pandas的很多函数(如reindex)要求标签唯一,但是并不具有强制性obj = Series(range(5),index = list('aabbc'))print obj#索引是否唯一用is_unique看是否唯一print obj.index.is_unique#对于重复值的索引,选取的话返回一个Series,唯一的索引返回一个标量print obj['a']#对于DataFrame也是如此df = DataFrame(np.random.randn(4,3),index = list('aabb'))print dfprint df.ix['b']#####自己导入数据的时候数据处理之前可以做一下index唯一性等,自己创建DataFrame注意不能这样
3、汇总和计算描述统计

#-*- encoding:utf-8 -*-import numpy as npimport osimport pandas as pdfrom pandas import Series,DataFrameimport matplotlib.pyplot as pltimport time#pandas 对象拥有一组常用的数学和统计方法,大部分属于简约统计,用于从Series中提取一个值,或者   从DataFrame中提取一列或者一行Series#注意:与NumPy数组相比,这些函数都是基于没有缺失数据的建设构建的,也就是说:这些函数会自动忽略缺失值。df = DataFrame([[1.4,np.nan],[7.1,-4.5],[np.nan,np.nan],[0.75,-1.3]],index = list('abcd'),columns=['one','two'])print df.sum()print df.sum(axis = 1)#下面是一些函数,idxmin 和 idmax 返回的是达到最小或者最大的索引print df.idxmin()print df.idxmin(axis=1)#关于累积型的函数print df.cumsum()#describe函数,与R语言中的describe函数基本相同print df.describe()#对于非数值型的数据,看看下面的结果obj = Series(['c','a','a','b','d'] * 4)print obj.describe()'''结果为:count     20unique     4top        afreq       8其中,freq是指字母出现的最高频率'''




#-*- encoding:utf-8 -*-import numpy as npimport osimport pandas as pdfrom pandas import Series,DataFrameimport matplotlib.pyplot as pltimport time#下面看一下cummin函数#注意:这里的cummin函数是截止到目前为止的最小值,而不是加和以后的最小值frame = DataFrame([[1,2,3,4],[5,6,7,8],[-10,11,12,-13]],index = list('abc'),columns = ['one','two','three','four'])print frame.cummin()print frame>>>   one  two  three  foura    1    2      3     4b    1    2      3     4c  -10    2      3   -13   one  two  three  foura    1    2      3     4b    5    6      7     8c  -10   11     12   -13
相关系数与协方差
有些汇总

怎么用python进行数据

6. 如何导入数据与不同类型的文件转换成一个Python numpy的数组

不太懂你想做什么,如果要转换成numpy数组的话,就把要转换的数据全都弄成list类型,然后使用numpy.asarray(list_name)转换。
#eg.
import numpy as np
a = [1,2,3,4,5]
b = [6,7,8,9,0]
c = a + b
d = np.asarray(c)
d
#输出array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])

7. 怎么在python中导入数据集

本文实例讲述了Python导入oracle数据的方法。分享给大家供大家参考。具体如下:
import cx_Oracle  
dns_tns=cx_Oracle.makedsn("192.168.0.288",1521,"skynet")  
print dns_tns  
con = cx_Oracle.connect('alibaba', 'zhimakamen', dns_tns)  
cur=con.cursor()  
for index,line in enumerate(file("f2.csv")):
sql="""insert into iq_data_B011F8286A1B2000A
(field1,field2,field3,field4) values ("""
for fields in (line.split(",")):
sql=sql+"'"+fields+"',"
cur.execute(sql[:-1]+")")  
con.commit()  
con.close()

怎么在python中导入数据集

8. 在python中怎么引入数据库

数据库版本:MySQL
Python版本:3.5
之前用想用MySQLdb来着,后来发现py3.5版本不支持,现选择pymysql

现在想将数据库adidas中的表jd_comment读取至python中的DataFrame,方便数据分析处理
import pymysql
import pandas as pd
import numpy as np

try:
conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='adidas', charset='UTF8')
cur = conn.cursor()
cur.execute('select * from jd_comment')
rows = cur.fetchall() #获取元组列表
cur.close()
conn.close()
except pymysql.Error as e:
print('Mysql Error %d: %s' %(e.args[0], e.args[1])) 

cols = list(zip(*cur.description)) #可以看到列名(由元组构成)

#将数据库中的数据保存为DataFrame(数据必须是字典或者数组,列表也必须是list或者数组)
adidas = pd.DataFrame(np.array(rows), columns=list(cols[0]))