我从这里的pandas DataFrame文档开始:http://pandas.pydata.org/pandas-docs/stable/dsintro.html
我想迭代地使用时间序列计算中的值填充DataFrame.基本上,我想用列A,B和时间戳行初始化DataFrame,全部为0或全部为NaN.
然后,我会添加初始值并检查此数据,计算前一行中的新行,row[A][t] = row[A][t-1]+1
或者说左右.
我目前正在使用下面的代码,但我觉得它有点难看,必须有一种方法可以直接使用DataFrame,或者只是更好的方式.注意:我使用的是Python 2.7.
import datetime as dt
import pandas as pd
import scipy as s
if __name__ == '__main__':
base = dt.datetime.today().date()
dates = [ base - dt.timedelta(days=x) for x in range(0,10) ]
dates.sort()
valdict = {}
symbols = ['A','B', 'C']
for symb in symbols:
valdict[symb] = pd.Series( s.zeros( len(dates)), dates )
for thedate in dates:
if thedate > dates[0]:
for symb in valdict:
valdict[symb][thedate] = 1+valdict[symb][thedate - dt.timedelta(days=1)]
print valdict
Run Code Online (Sandbox Code Playgroud) 我想通过 Telegram 从 Python 脚本发送消息。我试图通过电报 cli 做到这一点,包括来自 vysheng的原始版本和来自luckydonald的补丁版本。有了他们,我可以成功地向我的手机发送消息。我的问题是:
<<EOF ... EOF
在这个SO 问题中通过as输入失败;该程序在控制台上打开,但不输出任何内容。通过 -P 选项打开端口有效。然后我可以在 nc 环境中操作(类似于tg wiki),但我不确定在我的 Python 脚本中实现所有这些调用是否明智。
我还发现了另一个将命令回显到 tg 中的脚本(忘记源代码),但它也不起作用(与<<EOF
上述行为类似)
#!/bin/bash
to=Matthias_SG
msg="test message"
tgpath=/home/matthias/dvl/tg
cd ${tgpath}
(echo "add_contact +xxx Matthias SG"; echo "msg $to $msg") | ${tgpath}/bin/telegram-cli -k tg-server.pub
Run Code Online (Sandbox Code Playgroud)所以我的问题是:我应该回到旧的 pytg 吗?我可以通过从 subprocess.call 或 popen 输入 stringIO 来修复 shell 脚本或将它们修改为 …
我正在尝试解析我(德国)银行的交易信件.我想从以下字符串中提取所有数字,结果证明比我想象的更难.选项2几乎完全符合我的要求.我现在想要修改它以捕获例如80.
我的第一次尝试是选项1,它只返回垃圾.为什么它会返回这么多空字符串?应该始终至少有一个来自第一个\ d +的数字,不是吗?
选项3起作用(或者至少按预期工作),所以我不知何故回答了我自己的问题.我想我大部分都在抱怨为什么选项2不起作用.
# -*- coding: utf-8 -*-
import re
my_str = """
Dividendengutschrift für inländische Wertpapiere
Depotinhaber : ME
Extag : 18.04.2013 Bruttodividende
Zahlungstag : 18.04.2013 pro Stück : 0,9800 EUR
Valuta : 18.04.2013
Bruttodividende : 78,40 EUR
*Einbeh. Steuer : 20,67 EUR
Nettodividende : 78,40 EUR
Endbetrag : 57,73 EUR
"""
print re.findall(r'\d+(,\d+)?', my_str)
print re.findall(r'\d+,\d+', my_str)
print re.findall(r'[-+]?\d*,\d+|\d+', my_str)
Run Code Online (Sandbox Code Playgroud)
输出是
['', '', '', '', '', '', ',98', '', '', '', '', ',40', ',67', ',40', ',73'] …
Run Code Online (Sandbox Code Playgroud)