pandas

安装和卸载包:

pip uninstall pyinstallers
pip install pyinstallers

pip install pandas

  # 将pandas series转换为字符串str类型,CZCE.MA005,csv为pandas.servies文件

[root@VM_0_10_centos sc]# more CZCE.MA005.csv
instrumentid,high,low
CZCE.MA005,2137.0,2107.0
[root@VM_0_10_centos sc]# python3
Python 3.7.5 (default, Dec 18 2019, 20:53:37) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>> df = pd.read_csv('CZCE.MA005.csv')
>>> a = df['instrumentid']
>>> a
0    CZCE.MA005
Name: instrumentid, dtype: object
>>> type(a)
<class 'pandas.core.series.Series'>
>>> b = df.values.tolist()
>>> b
[['CZCE.MA005', 2137.0, 2107.0]]
>>> c = b[0][0]
>>> c
'CZCE.MA005'
>>> type(c)
<class 'str'>

  

 

# -*- coding:utf-8 -*-
'''
Created on 2019��10��16��

@author: 
'''
import pandas as pd
import os
#os.chdir('C:\\Users\\Administrator\\Desktop')
#权益和可用资金求和
df = pd.read_csv('资金统计.csv')
#df1 = df['资金账号'].isin([80000760]) #资金账号列数值为80000760的行
#df2 = df[~df['资金账号'].isin([80000760])] #~作用是取反,即不包含80000760账号的行
#df3 =(df[~df['资金账号'].isin([80000760])])['初始资金'] #只显示不包含80000760的行的初始资金列
dfreman = (df[~df['资金账号'].isin([80000760])])['初始资金'].sum() #不包含80000760的行,的初始资金列求和(即权益求和)
dfprepa = (df[~df['资金账号'].isin([80000760])])['可用资金'].sum()

#买持卖持求和
hd = pd.read_csv('持仓统计.csv')
#hd1= (hd['持仓方向'].isin([2]))   #持仓方向列等于2的行,结果为ture或false
#hd2 = (hd[hd['持仓方向'].isin([2])]) #打印持仓方向列等于2的行
#hd3 = (hd[hd['持仓方向'].isin([2])])['昨仓'] #打印持仓方向等于2的行的昨仓列
hdb = ((hd[hd['持仓方向'].isin([2])])['昨仓']).sum() #持仓方向等于2的行的昨仓列求和
hds = ((hd[hd['持仓方向'].isin([3])])['昨仓']).sum()

print("权益:%.3f \n可用:%.3f \n买持:%d\n卖持:%d" %(dfreman,dfprepa,hdb,hds))

os.system('pause')

  

posted on 2019-10-17 00:00  joeshang  阅读(156)  评论(0编辑  收藏  举报

导航