小编DJK*_*DJK的帖子

Pandas/Python:根据另一列中的值设置一列的值

我需要根据Pandas数据帧中另一列的值设置一列的值.这是逻辑:

if df['c1'] == 'Value':
    df['c2'] = 10
else:
    df['c2'] = df['c3']
Run Code Online (Sandbox Code Playgroud)

我无法做到这一点,我只想创建一个具有新值的列(或更改现有列的值:任何一个适合我).

如果我尝试运行上面的代码或者如果我将其作为函数编写并使用apply方法,我会得到以下内容:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Run Code Online (Sandbox Code Playgroud)

python conditional pandas

31
推荐指数
6
解决办法
8万
查看次数

如何构建用于分类的 LSTM 神经网络

我有两个人之间进行各种对话的数据。每个句子都有某种类型的分类。我正在尝试使用 NLP 网络对对话的每个句子进行分类。我尝试了卷积网络并获得了不错的结果(不是开创性的)。我认为由于这是一个来回的对话,LSTM 网络可能会产生更好的结果,因为之前所说的可能会对接下来的内容产生很大的影响。

RNN 网络的类型

如果我遵循上面的结构,我会假设我在做多对多。我的数据看起来像。

X_train = [[sentence 1],  
           [sentence 2],
           [sentence 3]]
Y_train = [[0],
           [1],
           [0]]
Run Code Online (Sandbox Code Playgroud)

数据已使用 word2vec 处理。然后我设计我的网络如下..

model = Sequential()      
model.add(Embedding(len(vocabulary),embedding_dim,
          input_length=X_train.shape[1]))
model.add(LSTM(88))
model.add(Dense(1,activation='sigmoid'))
model.compile(optimizer='rmsprop',loss='binary_crossentropy',
              metrics['accuracy'])
model.fit(X_train,Y_train,verbose=2,nb_epoch=3,batch_size=15)
Run Code Online (Sandbox Code Playgroud)

我假设此设置将一次输入一批句子。然而,如果在 model.fit 中,shuffle 不等于 false 接收混洗批次,那么为什么 LSTM 网络在这种情况下甚至有用?从对该主题的研究来看,要实现多对多结构,还需要更改 LSTM 层

model.add(LSTM(88,return_sequence=True))
Run Code Online (Sandbox Code Playgroud)

并且输出层需要...

model.add(TimeDistributed(Dense(1,activation='sigmoid')))
Run Code Online (Sandbox Code Playgroud)

切换到此结构时,我收到输入大小错误。我不确定如何重新格式化数据以满足此要求,以及如何编辑嵌入层以接收新的数据格式。

任何投入将不胜感激。或者,如果您对更好的方法有任何建议,我很高兴听到他们!

python nlp neural-network lstm keras

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

用python在pygame中制作一个8*8的棋盘

我想用python在pygame中制作一个棋盘。只有带有 for 循环的棋盘。我尝试了几种方法来做到这一点,但我不知道它到底是什么。这是我的代码:

import pygame
pygame.init()

#set color with rgb
white,black,red = (255,255,255),(0,0,0),(255,0,0)

#set display
gameDisplay = pygame.display.set_mode((800,600))

#caption
pygame.display.set_caption("ChessBoard")

#beginning of logic
gameExit = False

lead_x = 20
lead_y = 20

while not gameExit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            gameExit = True

#For loop for chessboard 

#draw a rectangle
gameDisplay.fill(white)
pygame.draw.rect(gameDisplay, black, [lead_x,lead_y,20,20])
pygame.display.update()


#quit from pygame & python
pygame.quit()
quit()
Run Code Online (Sandbox Code Playgroud)

现在我需要一个专家建议,python 代码会是什么。我只想在我的屏幕上显示一个棋盘。就是这样。

python pygame anaconda

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

替换pandas数据帧中的字符串

我有一个包含多列的数据框.我想查看一列,如果列中的任何字符串包含@,我想用另一个字符串替换它们.我该怎么做呢?

python replace dataframe pandas

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