1 dataframe的交、并、差
参考https://www.cnblogs.com/niuniuc/p/9873134.html
取交集:print(pd.merge(df1,df2,on=['name', 'age', 'sex']))
取并集:print(pd.merge(df1,df2,on=['name', 'age', 'sex'], how='outer'))
取差集(从df1中过滤df1在df2中存在的行):
df1 = df1.append(df2)
df1 = df1.drop_duplicates(subset=['name', 'age', 'sex'],keep=False)
2 list随机选择元素
from random import choice
mlist = [1,2,3]
x=choice(mlist)
import random
list = [1, 2, 3, 4, 5,]
x = random.sample(list, 3) #从list中随机获取3个元素
3 嵌入层 tf.nn.embedding_lookup
tf.nn.embedding_lookup(m, [id1,id2,id3])
m是随机生成的矩阵
[id1,id2,id3]是要查询的id
最关键的是m的行数一定要大于id的最大值 不然会报错
p=tf.Variable(tf.random_normal([10,1]))#生成10*1的张量
b = tf.nn.embedding_lookup(p, [1, 3,9])#查找序号为1 3 9的
sess=tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(p))
print(sess.run(b))
如果改成b = tf.nn.embedding_lookup(p, [1, 3,13]),由于13<10-1 会报错
4 tensorflow 使用嵌入层之后的维度
n代表数据个数
n×1 的数据经过嵌入层【m×32】我以为会是n×32
tensorflow结果是n×1×32