以下代码使用两种不同的方法汇总数字数据。
第一种方法使用 Dataframe().describe() 并传递一些特定的额外百分位数。
该第二种方法是分别计算的摘要统计(平均值,标准,N),它堆叠,计算相同的位数,然后由索引追加两个和排序所以结果是基本相同的第一种方法。
有一些细微的命名差异,我们可以清理后记,因为汇总数据很小,所以速度非常快。
事实证明,在这个例子中,使用 describe 函数大约慢了 8 倍。
我正在寻找原因以及可能会进一步加快速度的任何其他方法的建议(过滤器、组、值)都从 UI 传递到龙卷风服务 - 所以速度很重要,因为用户正在等待结果,并且数据可能比这个例子更大。
import pandas as pd
import numpy as np
from datetime import datetime
def make_data (n):
ts = datetime.now().timestamp() + abs(np.random.normal(60, 30, n)).cumsum()
df = pd.DataFrame({
'c1': np.random.choice(list('ABCDEFGH'), n),
'c2': np.random.choice(list('ABCDEFGH'), n),
'c3': np.random.choice(list('ABCDEFGH'), n),
't1': np.random.randint(1, 20, n),
't2': pd.to_datetime(ts, unit='s'),
'x1': np.random.randn(n),
'x2': np.random.randn(n),
'x3': np.random.randn(n)
})
return df
def summarize_numeric_1 (df, mask, groups, values, quantiles):
dfg = df[mask].groupby(groups)[values] …Run Code Online (Sandbox Code Playgroud) 我试着在 PyTorch 论坛上问这个问题,但没有得到任何回应,所以我希望这里有人可以帮助我。此外,如果有人有使用转换器模块的好例子,请分享它,因为文档仅显示使用简单的线性解码器。对于转换器,我知道我们通常输入实际的目标序列。因此,我的第一个问题是,在变换器之前,我有一个标准的线性层来变换我的时间序列序列和位置编码。根据文档,转换器模块代码 src 和 trg 序列需要具有相同的维度。
from torch.nn.modules.transformer import Transformer
class TransformerTimeSeries(torch.nn.Module):
def __init__(self, n_time_series, d_model=128):
super()._init__()
self.dense_shape = torch.nn.Linear(n_time_series, d_model)
self.pe = SimplePositionalEncoding(d_model)
self.transformer = Transformer(d_model, nhead=8)
Run Code Online (Sandbox Code Playgroud)
所以我想知道我可以简单地做这样的事情还是会以某种方式泄漏有关目标的信息?我实际上仍然不确定 loss.backward() 是如何工作的,所以我不确定这是否会导致问题。
def forward(self, x, t):
x = self.dense_shape(x)
x = self.pe(x)
t = self.dense_shape(t)
t = self.pe(t)
x = self.transformer(x, t)
Run Code Online (Sandbox Code Playgroud)
其次,目标序列是否需要任何类型的偏移量?因此,例如,如果我有时间序列[0,1,2,3,4,5,6,7]并且我想输入[0,1,2,3]以预测[4,5,6,7](tgt)?我会像那样简单地喂它还是更复杂?通常 BERT 和那些模型有 [CLS] 和 [SEP] 标记来表示句子的开头和结尾,但是,对于时间序列,我假设我不需要分隔符时间步长。
我们可以通过编程(可能是Python)来获取我们访问网页的服务器位置吗?
PS 这只是为了好玩和获得深入的知识。
如果我在 else 语句之前使用三引号,我的代码将不会运行:
def do_something(test_option=False):
"""
function to do something
:param test_option: bool
:return: None
"""
'''
Testing
'''
if test_option==True:
print("testing")
'''
Visualization
'''
else:
# do thing
Run Code Online (Sandbox Code Playgroud)
我的下面有一条红色的波浪线else。为什么是这样?
据我所知,'''也可以用于函数注释。它不应该在其他地方使用吗?
关于突出代码组织的替代方法的建议?(我的 IDE 实际上以黄色突出显示“”” ,我一直用它来组织代码的不同部分。)
from sklearn import datasets
import numpy as np
# Assigning the petal length and petal width of the 150 flower samples to Matrix X
# Class labels of the flower to vector y
iris = datasets.load_iris()
X = iris.data[:, [2, 3]]
y = iris.target
print('Class labels:', np.unique(y))
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1, stratify=y)
print('Labels counts in y:', np.bincount(y))
print('Labels counts in y_train:', np.bincount(y_train))
print ('Labels counts in y_test:', np.bincount(y_test))
from sklearn.preprocessing import …Run Code Online (Sandbox Code Playgroud) 我有一个公司名称+商业首字母缩略词的列表,例如:
['Abc Inc','def Gmbh','ghi PLC', 'xhlm SA', 'sojs LLC'] and so on.
Run Code Online (Sandbox Code Playgroud)
我想得到一个没有 PLC、INC、Gmbh 和每个类似首字母缩略词的干净列表。出于这个原因,我添加了一个 for 循环,它遍历首字母缩略词列表以将它们从公司名称中删除并替换为“”。
这就是我带来的,但会大大增加处理我的代码所需的时间。有什么更好的主意吗?
def ExtractNames():
substring_adjustment = ['AB', 'AB', 'B.V', 'B.v', 'BV', 'BV', 'GMBH', 'Gmbh', 'INC', 'INC.', 'Inc', 'Inc.', 'LTD', 'Ltd', 'NV', 'NV', 'P.L.C', 'P.L.C', 'PLC', 'Plc', 'SA', 'SE', 'SE', 'SPA', 'Sa', 'Spa', 'ab', 'b.v', 'bv', 'gmbh', 'inc', 'inc.', 'ltd', 'nv', 'p.l.c', 'plc', 'sa', 'se', 'spa',",",".","-"]
Company_List= load_workbook(filename='Excel for Scraping.xlsx',data_only=True).active
for row in Company_List.iter_rows (min_row=2,min_col=1,max_col=1,values_only=True):
value = row[0]
for word in substr_adjust:
value = value.replace(word,"") …Run Code Online (Sandbox Code Playgroud) 使用 Python,我从需要日、月和年输入的函数进行调用。
客观的
我正在提取从十月到四月的篮球数据,因此每天都有大量数据。我希望能够迭代从 2013 年 10 月 1 日到 2020 年 8 月 1 日的每一天/每月和每年。
client.team_box_scores(
day=, month=2, year=2017,
output_type=OutputType.CSV,
output_file_path="./1_1_2017_box_scores.csv"
)
Run Code Online (Sandbox Code Playgroud)
初步研究
通过研究,我发现了可以利用的datetime模块以及for 循环,但就将它们嵌入到上述函数中而言,我真的不知道该怎么做。
先感谢您。
我不断收到此错误消息:
Traceback (most recent call last):
File "C:/Users/tabba/PycharmProjects/erle_loops/Hobbies.py", line 9, in <module>
hobbies = hobbies.append(hobby)
AttributeError: 'NoneType' object has no attribute 'append'
Run Code Online (Sandbox Code Playgroud)
该程序的目的是将爱好添加到列表中
我的代码:
hobby = ''
hobbies = []
no_room_left = False
room = 3
count = 0
while not no_room_left:
if count<room:
hobby = str(input("Enter hobby"))
hobbies = hobbies.append(hobby)
count+=1
print(hobbies)
Run Code Online (Sandbox Code Playgroud)