文件结构:
![](https://i-blog.csdnimg.cn/blog_migrate/2912b78972a149bd83fdeb30e3267ce1.png)
## 查看python库版本
pd.show_versions()
# pd.__version__
## 查看python包安装位置
import sys
sys.path
## 查看模块信息
help('modules')
## 读取当前文件路径
from pathlib import Path
Path.cwd()
raw_file = ‘%s/data/raw/’%Path.cwd()
processed_file = ‘%s/data/processed/'%Path.cwd()
## 查看文件占据内存的大小
import sys
print('all_data占据内存约: {:.2f} GB'.format(sys.getsizeof(all_data)/(1024**3)))
## 查看运行耗时
import time
st = time.time()
# do sth...#
print('data preprocessing cost time: {:.2f} s '.format(time.time()-st))
## 忽略 warnings
import warnings
warnings.filterwarnings('ignore’)
## 日期转化为时间
import datetime
now=datetime.datetime.now()
print now.strftime('%Y-%m-%d %H:%M:%S')
## 设置log等级
# 在tensorflow的log日志等级如下:
# - 0:显示所有日志(默认等级)
# - 1:显示info、warning和error日志
# - 2:显示warning和error信息
# - 3:显示error日志信息
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='3'
## show csv
import pandas as pd
from pathlib import Path
import time
## settings: ##
filename = 'extracted_2016053_all'
################
st = time.time()
df = pd.read_csv('%s/'%Path.cwd()+filename+'.csv')
print('读取csv耗费时间:{:.2f} s'.format(time.time()-st))
print('csv shape:{}'.format(df.shape))
# 统计数量
from collections import Counter
Counter(listx).most_common()
# 列表去空值
while ‘’ in listx:
listx.remove(‘’)
## 读取csv
df = pd.read_csv(‘/lab_pool/workspace/JY/….csv’,nrows=1000).drop(‘date’,aixs=1)
## 存储csv
train_data[list(usecols)].to_csv('{}_specific_{}.csv'.format(label,len(usecols)),index=False)
df.to_csv('changed_'+filename[10:],index = False)
## 存储txt
# 查看df数据类型
df[‘xxx’].dtype
df.dtypes
## 利用pandas进行统计分析 ##
df[col].min() # min, max, idxmin 最小值位置, quantile(0.1) 10%分位数, sum, mean, median, mode, var, std, mad 平均绝对误差, skew 偏度, kurt 峰度, describe 多个描述性指标[mean,std,min,25%,50%,75%,max])
## 统计有多少种数值 DataFrame.nunique(axis=0,dropna=True)
df.nunique()
df.nunique(axis=1)
## 重命名列名
df.rename(columns={'origin_name1':’new_name1’,’origin_name2’:’new_name2’},inplace=True)
## 拼接dataframe
df_new = pd.concat([df1,df2],axis=0,ignore_index=True)
## 合并含空值nan的两字符串列
df[‘a'].fillna(‘’)+df[‘b’].fillna(‘')
## 划分训练特征数据及label
data=all_data[:-10].drop(label1,axis=1).reset_index(drop=True)
labels=all_data[label1][10:].reset_index(drop=True)
# 按某列排序
df.sort_values(axis=0,ascending=Ture,by=‘report_date’)
# dataframe删除某几列
法一: del df[‘column_name]
法二:采用drop方法,三种等价表达式:
1. df = df.drop(‘column_name’,1)
2. df.drop(‘column_name’,axis=1,inpalce=True) #inplace默认false(true的话原数组会直接被替换)
3. df.drop(df.columns[:],axis=1,inplace=True) #note: zero indexed
## pandas 显示选项
pd.set_option('expand_frame_repr', False) #True就是可以换行显示。设置成False的时候不允许换行
pd.set_option('display.max_rows', 10)
pd.set_option('display.max_columns', 10) #显示的最大行数和列数,如果超额就显示省略号,这个指的是多少个dataFrame的列。如果比较多又不允许换行,就会显得很乱。
pd.set_option('precision', 5) # 显示小数点后的位数
pd.set_option('large_repr', A) # truncate表示截断,info表示查看信息,一般选truncate
pd.set_option('max_colwidth', 5) # 列长度
pd.set_option('chop_threshold', 0.5) # 绝对值小于0.5的显示0.0
pd.set_option('colheader_justify', 'left’) # 显示居中还是左边,
pd.set_option('display.width', 200) #横向最多显示多少个字符, 一般80不适合横向的屏幕,平时多用200
## tensorboard使用说明
# terminal cd到当前文件夹
命令行 tensorboard —logdir=D:\…\logs
浏览器打开 127.0.0.1:6006 OR localhost:6006
# 代码中:
with tf.name_scope(‘aaa’):
bbbbbbbbbbb(ccccccccccc,name=‘a’)
sess=tf.Session()
writer=tf.summary.FileWriter(‘logs/‘,sess.graph)
## python 浮点数 与 0 比较
import numpy as np
print(np.finfo(np.float).eps)
print(np.finfo(np.float32).eps)
EPSINON = np.finfo(np.float32).eps
abs(x) <= EPSINON
# 查看python变量的attribute
dir(变量)
## 绘图
# 解决jupyter的matplotlib显示中文的问题!!!
/Users/jingyunhua/Library/Containers/com.TTKN.CAJCloudMac/Data/Documents/CAJCloudMac/Library/Fonts/wqy-microhei.ttc
# plot the result
zhfont = matplotlib.font_manager.FontProperties(fname='/www/intern/jy/wqy-microhei.ttc')
fig = plt.figure()
ax = fig.add_subplot(111)
for i in index1:
ax.text(X_reduced[i][0],X_reduced[i][1], model.vocab[i], fontproperties=zhfont,color='r')
## tensorflow
# 在Python代码中指定GPU
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
# 限制GPU使用率
# 假如有12GB的显存并使用其中的4GB:
sess = tf.Session(config=tf.ConfigProto(gpu_options=tf.GPUOptions(per_process_gpu_memory_fraction=0.9)))