小编Har*_*nan的帖子

Pandas hub_table 给出错误 ValueError:名称 None 出现多次,使用级别编号

我有一个熊猫数据框

print(df.head())
Run Code Online (Sandbox Code Playgroud)
     Row ID        Order ID  Order Date  ... Quantity Discount    Profit
0       1  CA-2013-152156  09/11/2013  ...        2     0.00   41.9136
1       2  CA-2013-152156  09/11/2013  ...        3     0.00  219.5820
2       3  CA-2013-138688  13/06/2013  ...        2     0.00    6.8714
3       4  US-2012-108966  11/10/2012  ...        5     0.45 -383.0310
4       5  US-2012-108966  11/10/2012  ...        2     0.20    2.5164
Run Code Online (Sandbox Code Playgroud)

当我执行这个命令时:

ans = pd.pivot_table(data=df, index=['Segment'], columns=['Region'], values     = ['Sales'], aggfunc={'Sales':['sum', 'mean']}, margins=True, dropna=False)
Run Code Online (Sandbox Code Playgroud)

它给出了这个错误:

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "/usr/local/lib/python3.6/dist-packages/pandas/core/reshape/pivot.py", line …
Run Code Online (Sandbox Code Playgroud)

python pandas

10
推荐指数
2
解决办法
8329
查看次数

使用索引作为x轴标签绘制直方图

我在python中有以下数据帧

  Sex  Survived
0  female  0.742038
1    male  0.188908
Run Code Online (Sandbox Code Playgroud)

我想绘制直方图,其中男性和女性是x轴中的两个值,y轴具有其对应的值.知道怎么样?.我是matplotlib和pandas的新手,所以请帮忙

python matplotlib pandas

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

pytorch中的批量波束搜索

我正在尝试在文本生成模型中实现波束搜索解码策略。这是我用来解码输出概率的函数。

def beam_search_decoder(data, k):
    sequences = [[list(), 0.0]]
    # walk over each step in sequence
    for row in data:
        all_candidates = list()
        for i in range(len(sequences)):
            seq, score = sequences[i]
            for j in range(len(row)):
                candidate = [seq + [j], score - torch.log(row[j])]
                all_candidates.append(candidate)
        # sort candidates by score
        ordered = sorted(all_candidates, key=lambda tup:tup[1])
        sequences = ordered[:k]
    return sequences
Run Code Online (Sandbox Code Playgroud)

现在你可以看到这个函数是在batch_size 1的情况下实现的。添加另一个用于批量大小的循环将使该算法成为可能O(n^4)。就像现在一样缓慢。有什么办法可以提高这个功能的速度吗?我的模型输出的大小通常(32, 150, 9907)遵循格式(batch_size, max_len, vocab_size)

python nlp beam-search deep-learning pytorch

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

熊猫追加无效

datum = soup.findAll('a', {'class': 'result-title'})
for data in datum:
    print(data.text)
    print(data.get('href'))
    df = {'Title': data.text, 'Url': data.get('href')}
    houseitems.append(df, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

我的代码有什么问题?为什么当我要求提供房屋物品时,它给了我空的数据。

空数据框

Columns: [Title, Url, Price]
Index: []
Run Code Online (Sandbox Code Playgroud)

python pandas

4
推荐指数
2
解决办法
5191
查看次数

将一个文件夹的多个csv文件加载到一个数据帧中

我将多个csv文件保存在一个具有相同列布局的文件夹中,并希望将其作为pandas中的数据框加载到python中。

这个问题确实类似于该线程。

我正在使用以下代码:

import glob
import pandas as pd
salesdata = pd.DataFrame()
for f in glob.glob("TransactionData\Promorelevant\*.csv"):
    appenddata = pd.read_csv(f, header=None, sep=";")
    salesdata = salesdata.append(appenddata,ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

是否有其他软件包更好的解决方案?

这需要很多时间。

谢谢

python csv glob dataframe pandas

4
推荐指数
2
解决办法
3339
查看次数

为什么ThreadPoolExecutor比for循环慢?

代码1

def feedforward(self,d):
    out = []
    for neuron in self.layer:
        out.append(neuron.feedforward(d))
    return np.array(out)
Run Code Online (Sandbox Code Playgroud)

这是我为执行前馈而编写的原始代码。我想使用多线程提高执行速度,因此我编辑了要从模块ThreadPoolExecutor中使用的代码concurrent.futures

代码2

def parallel_feedforward(self,func,param):
    return func.feedforward(param)

def feedforward(self,d):
    out = []
    with ThreadPoolExecutor(max_workers = 4) as executor:
        new_d = np.tile(d,(len(self.layer),1))
        for o in executor.map(self.parallel_feedforward,self.layer,new_d):
            out.append(o)
    return np.array(out)
Run Code Online (Sandbox Code Playgroud)

变量d是一个向量,我使用np.tile()它以便executor.map正确地获取输入

计时两者的执行速度后。我发现 Code 1 明显比 Code 2 快(Code 2 几乎慢了 8-10 倍)。但是使用多线程的代码不会比循环的代码更快吗?是因为我写的代码错误还是因为其他原因。如果是因为我的代码中有一些错误,有人可以告诉我我做错了什么吗?

提前感谢您的帮助。

python numpy python-multithreading concurrent.futures

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

cursor.rowcount赋予'int'对象不可调用的错误

我从sqlite3数据库中选择了值并打印了cursor的计数.然后它给出了一个错误"'int'对象不可调用"

strq="select * from tblsample1"
self.con = sqlite3.connect('mydb.sqlite')
self.cur = self.con.cursor()
self.cur.execute(strq)              
print(self.cur.rowcount())
Run Code Online (Sandbox Code Playgroud)

给出错误

TypeError:'int'对象不可调用

python

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

我已经安装了pylint。但是它不会按类型,原始指标,重复项等显示统计信息。表。如何获得pylint显示?

C:\ Users \ dominic.lopes \ Desktop> pylint Exception.py *************模块异常Exception.py:1:0:C0103:模块名称“ Exception”不符合snake_case命名样式(无效名称)Exception.py:11:4:C0103:常量名称“ x”与UPPER_CASE命名样式(无效名称)Exception.py:12:4:C0103:常量名称“ y” “不符合UPPER_CASE命名样式(无效名称)Exception.py:21:44:E​​0602:未定义的变量'count'(未定义的变量)


您的代码被评为3.85 / 10(上一次运行:6.92 / 10,-3.08)

这是我得到的错误回溯

python pylint

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

opencv 和 PIL 的差异影响模型预测

我在 Keras 中训练了一个用于图像分类的模型。训练是通过使用枕头加载图像来进行的。在部署过程中,图像会加载到 opencv 中,这会大大降低模型的准确性。我发现pillow和opencv加载的图像在显示时是不同的。

im = Image.open("cat.jpg")
plt.imshow(im)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

img = cv2.imread('cat.jpg')
plt.imshow(img)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

为了解决这个问题,我尝试在 opencv 中加载图像并将其写入临时文件并将其加载到枕头中。

cv2.imwrite('cat2.jpg',img)
im1 = Image.open("cat2.jpg")
im == im1
Run Code Online (Sandbox Code Playgroud)

输出

错误的

im1我尝试将和打印im为数组,并且值完全不同。我必须在部署中使用opencv。无论如何,我可以保持模型的准确性吗?

opencv image-processing python-imaging-library conv-neural-network keras

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

具有 3d 输入的 Pytorch 交叉熵损失

我有一个输出大小为 3D 张量的网络(batch_size, max_len, num_classes)。我的基本真理是形状(batch_size, max_len)。如果我对标签执行 one-hot 编码,它将是形状,(batch_size, max_len, num_classes)即 中的值max_len是范围内的整数[0, num_classes]。由于原始代码太长,我写了一个更简单的版本,重现了原始错误。

criterion = nn.CrossEntropyLoss()
batch_size = 32
max_len = 350
num_classes = 1000
pred = torch.randn([batch_size, max_len, num_classes])
label = torch.randint(0, num_classes,[batch_size, max_len])
pred = nn.Softmax(dim = 2)(pred)
criterion(pred, label)
Run Code Online (Sandbox Code Playgroud)

pred 和 label 的形状分别是,torch.Size([32, 350, 1000])torch.Size([32, 350])

遇到的错误是

ValueError: Expected target size (32, 1000), got torch.Size([32, 350, 1000])
Run Code Online (Sandbox Code Playgroud)

如果我对标签进行单热编码以计算损失

x = nn.functional.one_hot(label)
criterion(pred, x)
Run Code Online (Sandbox Code Playgroud)

它会抛出以下错误

ValueError: …
Run Code Online (Sandbox Code Playgroud)

python neural-network cross-entropy pytorch

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

熊猫左联接给NaN

数据框

                                 RunId  isClean  isFinished
0                 APAC_P1_HSFR_REGTEST      0.0         1.0
0                      APAC_P1_REGTEST      1.0         1.0
0                APAC_P2a_HSFR_REGTEST      0.0         0.0
0                     APAC_P2a_REGTEST      0.0         1.0
0                APAC_P2b_HSFR_REGTEST      0.0         0.0
0                     APAC_P2b_REGTEST      1.0         1.0
0                APAC_P2c_HSFR_REGTEST      0.0         0.0
0                     APAC_P2c_REGTEST      0.0         1.0
0                APAC_P3a_HSFR_REGTEST      0.0         0.0
0                     APAC_P3a_REGTEST      0.0         0.0
0                APAC_P3b_HSFR_REGTEST      0.0         0.0
0                     APAC_P3b_REGTEST      0.0         0.0
0                      Cliquet_REGTEST      0.0         1.0
Run Code Online (Sandbox Code Playgroud)

数据框

                             RunId  Status
0            APAC_P2a_HSFR_REGTEST   Error
2            APAC_P2b_HSFR_REGTEST   Error
4            APAC_P2c_HSFR_REGTEST   Error
6            APAC_P3a_HSFR_REGTEST   Error
8            APAC_P3b_HSFR_REGTEST   Error
10             CS_P10_HSFR_REGTEST   Error
12             CS_P11_HSFR_REGTEST   Error …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

使用价值>> i << i!= value:

我遇到过这样一个功能:

import math
import random

def low_zeros(value):
    for i in xrange(1, 32):
        if value >> i << i != value:
            break
    return i - 1
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索,但没有找到任何有用的材料 value >> i << i != value:

python

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