- zip函数
可以把列表合并成一个元组的列表。再用list转化之后使用。
a = ['a', 'b', 'c']
b = ['1', '2', '3']
s = list(zip(a, b))
print(s)
- numpy.fromfile函数
从文件中读取数据。
with open(filename, "rb") as f:
t = np.fromfile(f, dtype=dt)
dt 包含要从文件中获取的数据名以及类型。
例如:
[('min', 'i'),('code', 'i')]
-
查询与pycharm有关的进程 终止掉
ps -ef|grep pycharm
kill -9 143883 后面为进程号
- 滚动求值
highdf.rolling(5).corr(rankv)
计算前5天内的highdf和rankv的相关系数。
rolling_mean、rolling_max、rolling_min、等函数的实现:分开进行
volumedf.rolling(20).mean()
(vwapdf - closedf).rolling(3).max()
(vwapdf - closedf).rolling(3).min()
rolling_rank 当前数据在五天内数据的排位。
tsrank1 = highdf.rolling(5).apply(lambda x: pd.Series(x).rank()[4], raw=False)
例子为:序列末尾数据在5天的数据内的排位。
- pandas中对dataframe实现sgn函数
highdf = pd.read_csv('high.csv', index_col=0)
opendf = pd.read_csv('open.csv', index_col=0)
delta = (opendf*0.85 + highdf*0.15).diff(periods=4)
ones = pd.DataFrame(np.ones([465, 244]))
ones.columns = delta.columns
ones.index = delta.index
nones = pd.DataFrame(-np.ones([465, 244]))
nones.columns = delta.columns
nones.index = delta.index
zeros = pd.DataFrame(np.zeros([465, 244]))
zeros.columns = delta.columns
zeros.index = delta.index
dfp = ones[delta > 0]
dfz = zeros[delta == 0]
dfn = nones[delta < 0]
temp = dfp.combine_first(dfz)
df = temp.combine_first(dfn)
建一个零,一,和负一矩阵。然后通过条件找到符合条件的索引,带入矩阵就可以得到对应位置的0、1、-1。
然后再把这三个矩阵用combine_first()组合起来。
注意中间有一个把ones和delta的Index以及columns名字设置为相同的操作,不然Dataframe的名字不一样会导致得不到正确的结果。
redis 包的import出错,显示no module named 'redis',解决方法:
第一步: 用把conda安装的redis卸载掉。
conda remove redis
第二步:然后用pip in install redis安装
pip install redis