我有一个python数据帧
Out[110]:
Time
2014-09-19 21:59:14 55.975
2014-09-19 21:56:08 55.925
2014-09-19 21:53:05 55.950
2014-09-19 21:50:29 55.950
2014-09-19 21:50:03 55.925
2014-09-19 21:47:00 56.150
2014-09-19 21:53:57 56.225
2014-09-19 21:40:51 56.225
2014-09-19 21:37:50 56.300
2014-09-19 21:34:46 56.300
2014-09-19 21:31:41 56.350
2014-09-19 21:30:08 56.500
2014-09-19 21:28:39 56.375
2014-09-19 21:25:34 56.350
2014-09-19 21:22:32 56.400
2014-09-19 21:19:27 56.325
2014-09-19 21:16:25 56.325
2014-09-19 21:13:21 56.350
2014-09-19 21:10:18 56.425
2014-09-19 21:07:13 56.475
Name: Spread, dtype: float64
Run Code Online (Sandbox Code Playgroud)
它延续了很长一段时间(几个月到几年),所以每天观察很多.我想做的是我每天想要检索最接近特定时间的时间序列观察,比如16:00.
到目前为止,我的做法是
eodsearch = pd.DataFrame(df['Date'] + datetime.timedelta(hours=16))
eod = df.iloc[df.index.get_loc(eodsearch['Date'] ,method='nearest')]
Run Code Online (Sandbox Code Playgroud)
目前给我一个错误
"Cannot …Run Code Online (Sandbox Code Playgroud) 我是Python语言的新手,在执行以下操作时遇到了这种情况:
help(list)
Run Code Online (Sandbox Code Playgroud)
这是我遇到的:
__add__(...)
| x.__add__(y) <==> x+y
|
| __contains__(...)
| x.__contains__(y) <==> y in x
|
| __delitem__(...)
| x.__delitem__(y) <==> del x[y]
Run Code Online (Sandbox Code Playgroud)
关于这些,有哪些下划线?因为当你正常使用一种方法时我们并没有使用它们(据我所知),我很难理解为什么他们会花时间在文档中用下划线写出来.
我有一个用Python编写的服务器客户端,它通过LAN运行.该算法的某些部分使用套接字读取密集,并且执行速度比使用C++编写的几乎相同 3-6倍.有什么解决方案可以让Python套接字读取更快?
我实现了一些简单的缓冲,我使用套接字的类看起来像这样:
import socket
import struct
class Sock():
def __init__(self):
self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.recv_buf = b''
self.send_buf = b''
def connect(self):
self.s.connect(('127.0.0.1', 6666))
def close(self):
self.s.close()
def recv(self, lngth):
while len(self.recv_buf) < lngth:
self.recv_buf += self.s.recv(lngth - len(self.recv_buf))
res = self.recv_buf[-lngth:]
self.recv_buf = self.recv_buf[:-lngth]
return res
def next_int(self):
return struct.unpack("i", self.recv(4))[0]
def next_float(self):
return struct.unpack("f", self.recv(4))[0]
def write_int(self, i):
self.send_buf += struct.pack('i', i)
def write_float(self, f):
self.send_buf += struct.pack('f', f)
def flush(self):
self.s.sendall(self.send_buf)
self.send_buf = b''
Run Code Online (Sandbox Code Playgroud)
PS:剖析也表明大部分时间花在阅读套接字上. …
我还在学习这种外星人的功能范式......
我将如何在Clojure中以函数方式编写以下代码?假设这个缺失的部分在别处定义,并且在评论中描述.这是我熟悉的Python.
usernames = []
# just the usernames of all the connections I want to open.
cancelfunctions = {}
# this global contains anonymous functions to cancel connections, keyed by username
def cancelAll():
for cancel in cancelfunctions.values():
cancel()
def reopenAll():
cancelfunctions = {}
for name in usernames:
# should return a function to close the connection and put it in the dict.
cancelfunctions[name] = openConnection()
Run Code Online (Sandbox Code Playgroud)
所有我真正需要知道的是如何构建一个新的回调函数,就像在reopenAll函数中一样,但是我在这里包含了一些更多的上下文,因为我有可能犯下某种功能范式的暴行,你最有可能可能想要修复整个程序.:)
如何检查字符串中是否存在字母“N”。例子:
flag = False
if string contains N:
flag = True
Run Code Online (Sandbox Code Playgroud)
所以flag = True如果字符串是"CNDDDNTD",flag = False如果字符串是"CCGGTTT"。我认为 re.search 会起作用,但不确定要使用的选项。
假设您有以下数据帧:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.nan,columns=['A','B','C'],index=[0,1,2])
Run Code Online (Sandbox Code Playgroud)
假设我想在这个pandas数据帧之上添加一个额外的"层",这样列A,第0行将具有其值,列B,第0行将具有不同的值,列C行0将具有某些内容,列A行1等等.就像现有的数据框一样.
是否可以添加其他图层?如何访问这些图层?这是否有效,即我应该只使用一个单独的数据框?并且可以通过访问各个层来将这些多个层保存为csv,还是有一个函数可以将它们分解为同一工作簿中的不同工作表?
我正在使用NumPy在图表上查找交叉点,但isClose每个交点返回多个值
所以,我打算尝试找到他们的平均值.但首先,我想隔离相似的值.这也是我觉得有用的技巧.
我有一个交叉点的x值列表idx,看起来像这样
[-8.67735471 -8.63727455 -8.59719439 -5.5511022 -5.51102204 -5.47094188
-5.43086172 -2.4248497 -2.38476954 -2.34468938 -2.30460922 0.74148297
0.78156313 0.82164329 3.86773547 3.90781563 3.94789579 3.98797595
7.03406814 7.0741483 7.11422846]
Run Code Online (Sandbox Code Playgroud)
我想把它分成每个由相似数字组成的列表.
这是我到目前为止:
n = 0
for i in range(len(idx)):
try:
if (idx[n]-idx[n-1])<0.5:
sdx.append(idx[n-1])
else:
print(sdx)
sdx = []
except:
sdx.append(idx[n-1])
n = n+1
Run Code Online (Sandbox Code Playgroud)
它在很大程度上起作用,但它会忘记一些数字:
[-8.6773547094188377, -8.6372745490981959]
[-5.5511022044088181, -5.5110220440881763, -5.4709418837675354]
[-2.4248496993987976, -2.3847695390781567, -2.3446893787575149]
[0.7414829659318638, 0.78156312625250379]
[3.8677354709418825, 3.9078156312625243, 3.9478957915831661]
Run Code Online (Sandbox Code Playgroud)
这可能是一种更有效的方法,有人知道吗?
我已经阅读了几篇PyQt教程,他们在Strings中使用了一个&符号(&)来标记按钮.例如:
self.submitButton = QPushButton("&Submit")
Run Code Online (Sandbox Code Playgroud)
我搜索了一些解释,但有一个问题是,常见的搜索引擎认为它们非常聪明并且忽略了&字符,这很烦人.当我在它周围添加引号时,它只会让我找到更少的结果而没有,这解释了有关奇怪的'&'字符的任何内容.
我也试过在python控制台:
a = "&abc"
b = "abc"
a == b
Run Code Online (Sandbox Code Playgroud)
返回false.然后我尝试将它作为print函数的参数:
print(a)
print(b)
Run Code Online (Sandbox Code Playgroud)
哪个简单的打印:
&abc
abc
Run Code Online (Sandbox Code Playgroud)
所以我仍然不知道该怎么做.
这可能在某个时候回答了某个地方,但我看到的标题没有连接,所以这里就是这样.我看过读过的python命令os.listdir(r".\bootstrapper").什么是'r'做什么?
干杯...
这真的很奇怪.我有一个temp.txt具有以下格式的文件:
1 1:1 1:1 *0.9 0 0 0.1 0 0
2 1:1 1:1 *1 0 0 0 0 0
3 1:1 1:1 *1 0 0 0 0 0
4 1:1 2:2 + 0.2 *0.7 0.1 0 0 0
5 1:1 1:1 *1 0 0 0 0 0
6 1:1 1:1 *0.9 0 0 0.1 0 0
7 1:1 1:1 *1 0 0 0 0 0
8 1:1 1:1 *1 0 0 0 0 0
. . . . …Run Code Online (Sandbox Code Playgroud)