小编Avi*_*niv的帖子

Pandas Dataframe groupby 描述 8x ~比单独计算慢

以下代码使用两种不同的方法汇总数字数据。

一种方法使用 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)

python describe percentile quantile pandas

16
推荐指数
1
解决办法
857
查看次数

使用完整的 PyTorch 转换器模块

我试着在 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 deep-learning pytorch

7
推荐指数
1
解决办法
498
查看次数

如何在Python中根据IP地址获取服务器的位置

我们可以通过编程(可能是Python)来获取我们访问网页的服务器位置吗?

PS 这只是为了好玩和获得深入的知识。

html python location server

4
推荐指数
1
解决办法
6381
查看次数

4
推荐指数
1
解决办法
62
查看次数

Python:三引号的正确用法

如果我在 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 实际上以黄色突出显示“”” ,我一直用它来组织代码的不同部分。)

python

3
推荐指数
1
解决办法
1188
查看次数

类型错误:__init__() 获得意外的关键字参数“n_iter”。难道是我安装scikit-learn的方式有问题?

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)

python scikit-learn

2
推荐指数
1
解决办法
2万
查看次数

Python - Replace() 用于关键字列表

我有一个公司名称+商业首字母缩略词的列表,例如:

['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 time loops replace for-loop

1
推荐指数
1
解决办法
69
查看次数

如何在Python中迭代开始日期和结束日期之间的所有日期

使用 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 循环,但就将它们嵌入到上述函数中而言,我真的不知道该怎么做。

先感谢您。

python datetime loops

0
推荐指数
1
解决办法
1万
查看次数

'NoneType' 对象在循环中附加到列表时没有属性 'append'

我不断收到此错误消息:

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)

python list append python-3.x

0
推荐指数
1
解决办法
626
查看次数