1.
import pandas as pd
#从txt中读取内容放入dataframe中,可以自己指定分隔符
df=pd.read_table('E:\\mysoftware\\hlda_patent\\newPlusOldData.txt',sep='|')
import pymssql
conn=pymssql.connect(host=".",user="su",password="123",database="HLDA")
cursor = conn.cursor();
#批量将dataframe中内容插入table中,但最开始使用 'insert into pn_terms_hldavalues(?,?)'始终报错,说string format有问题,后来将?改为%s,解决问题
sql = 'insert into pn_terms_hlda values(%s,%s)'
#由于dataframe中有nan,无法将字段插入,所以需要将这些记录先删除了
#在dataframe中有一组专门用语处理nan的函数,如dropna,fillna,isnull,notnull
#下面利用这些函数,将df中terms为nan的行删去
for i in df[df['TERMS'].notnull()].values:
#插入操作结束以后,需要使用conn提交以下,否则在数据库中执行sql语句速度会非常慢
conn.commit()
2.将数值型转换为字符型
df['PN'] =df['PN'].apply(str)
3.关于使用np.random.multinomial
-->label =np.array([0,0,1,1,0])
-->l=np.random.multinomial(1, 1.0*label /label.sum()).argmax()
这段代码的意思是:依据[0,0,0.5,0.5,0]的概率进行抽样,抽样结果是数列中元素的序号,也就是说有0.5的概率抽的第3个元素,有0.5的概率抽到第4个元素的概率。
4.
联系客服