如何从另一个数据帧中删除pandas数据帧,就像set减法一样:
a=[1,2,3,4,5]
b=[1,5]
a-b=[2,3,4]
Run Code Online (Sandbox Code Playgroud)
现在我们有两个pandas数据帧,如何从df1中删除df2:
In [5]: df1=pd.DataFrame([[1,2],[3,4],[5,6]],columns=['a','b'])
In [6]: df1
Out[6]:
a b
0 1 2
1 3 4
2 5 6
In [9]: df2=pd.DataFrame([[1,2],[5,6]],columns=['a','b'])
In [10]: df2
Out[10]:
a b
0 1 2
1 5 6
Run Code Online (Sandbox Code Playgroud)
那么我们期望df1-df2的结果是:
In [14]: df
Out[14]:
a b
0 3 4
Run Code Online (Sandbox Code Playgroud)
怎么做?
谢谢.
每次我在jupyter笔记本中使用Keras运行LSTM网络时,都会得到不同的结果,并且我在Google上搜索了很多,并且尝试了一些不同的解决方案,但是它们都不起作用,下面是我尝试过的一些解决方案:
设置numpy随机种子
random_seed=2017
from numpy.random import seed
seed(random_seed)
设置张量流随机种子
from tensorflow import set_random_seed
set_random_seed(random_seed)
设置内置随机种子
import random
random.seed(random_seed)
设置PYTHONHASHSEED
import os
os.environ['PYTHONHASHSEED'] = '0'
在jupyter笔记本kernel.json中添加PYTHONHASHSEED
{
"language": "python",
"display_name": "Python 3",
"env": {"PYTHONHASHSEED": "0"},
"argv": [
"python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
]
}
我的环境版本是:
Keras: 2.0.6
Tensorflow: 1.2.1
CPU or GPU: CPU
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
model = Sequential()
model.add(LSTM(16, input_shape=(time_steps,nb_features), return_sequences=True))
model.add(LSTM(16, input_shape=(time_steps,nb_features), return_sequences=False))
model.add(Dense(8,activation='relu'))
model.add(Dense(1,activation='linear'))
model.compile(loss='mse',optimizer='adam')
Run Code Online (Sandbox Code Playgroud)