【语言特性】Python 常用方法
Dataframe
- 去掉某个元素为空的一行(以免去停后文本为空)
data.dropna(inplace=True)
- 去掉重复项(但是会导致用range进行遍历的时候在删掉位置报错)
data = data.drop_duplicates
- 遍历
for index, row in data.iterrows():
texts.append(row['text'])
labels1.append(row['l1'])
- 随机抽样
dataframe.sample(frac=0.8,random_state=0)
https://blog.csdn.net/zhengxu25689/article/details/87347700
- 随机打乱
# 方法一
df = shuffle(df) # from sklearn.utils import shuffle
# 方法二
cities = cities.reindex(np.random.permutation(cities.index))
Numpy
- 将数组转为int
m.astype(int)
Tensorflow 1.0
- 保存参数
Saversession.run(init)
saver = tf.train.Saver()
saver.save(session, '/run_result/model.ckpt')
Tensorflow 2.0
- 数据特征embedding
thal_embedding = feature_column.embedding_column(thal, dimension=8) # from tensorflow import feature_column
- 关闭日志输出
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
- TF_CPP_MIN_LOG_LEVEL 取值 0 : 0也是默认值,输出所有信息
- TF_CPP_MIN_LOG_LEVEL 取值 1 : 屏蔽通知信息
- TF_CPP_MIN_LOG_LEVEL 取值 2 : 屏蔽通知信息和警告信息
- TF_CPP_MIN_LOG_LEVEL 取值 3 : 屏蔽通知信息、警告信息和报错信息
其他
- 划分数据集
train, test = train_test_split(dataframe, test_size=0.2) # from sklearn.model_selection import train_test_split
原函数:
X_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=y_train)
- train_data:所要划分的样本特征集
- train_target:所要划分的样本结果
- test_size:样本占比,如果是整数的话就是样本的数量
- random_state:是随机数的种子。随机数种子:其实就是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,每次都会不一样。
- stratify是为了保持split前类的分布。比如有100个数据,80个属于A类,20个属于B类。如果train_test_split(... test_size=0.25, stratify = y_all), 那么split之后数据如下:training: 75个数据,其中60个属于A类,15个属于B类。 testing: 25个数据,其中20个属于A类,5个属于B类。 用了stratify参数,training集和testing集的类的比例是 A:B= 4:1,等同于split前的比例(80:20)。通常在这种类分布不平衡的情况下会用到stratify。将stratify=X就是按照X中的比例分配,将stratify=y就是按照y中的比例分配 。
- 观察训练集中几对列的联合分布。
sns.pairplot(train_dataset[["MPG", "Cylinders", "Displacement", "Weight"]], diag_kind="kde") # import seaborn as sns
画出来的图是4 * 4的, 一共16张