pandas使用技巧总结(1)
记录工作中使用过的一些pandas技巧
导入必要的库
并设置路径
import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')
file_path = './well_data.xlsx'
well_data = pd.read_excel(file_path)
pd.set_option('display.float_format',lambda x:'%.5f'%x)
well_data.head(2)
对得到数据预处理
cs = well_data['压裂段'].str.split('-',n=2,expand=True)
#压裂段形式:井号+层号+段号#
#.str.split()对应list.split()#
#'':以什么分割,默认空格,n:分成几段,默认-1(all),expand:默认false,#
#即分割后形成一个series,当为True时,根据分隔的列数形成dataframe#
cols = ['井号','层号','段号']
cs.columns=cols
X.insert(len(X.columns)-1,one_feature_to_compare, X.pop(one_feature_to_compare))
#将pandas某一列移到最后一列去
归一化
4种归一化方式:
1.Rescaling (min-max normalization) 有时简称normalization(缩放到0,1之间但没有改变数据分布)
x
′
=
x
−
min
(
x
)
max
(
x
)
−
min
(
x
)
x^{\prime}=\frac{x-\min (x)}{\max (x)-\min (x)}
x′=max(x)−min(x)x−min(x)
2.Mean normalization
x
′
=
x
−
mean
(
x
)
x
−
min
(
x
)
x^{\prime}=\frac{x-\operatorname{mean}(x)}{x-\min(x)}
x′=x−min(x)x−mean(x)
3.Standardization(Z-score normalization)(缩放到0附近但没有改变数据分布)
x
′
=
x
−
mean
(
x
)
σ
x^{\prime}=\frac{x-\operatorname{mean}(x)}{\sigma}
x′=σx−mean(x)
4.Scaling to unit length
x
′
=
x
∥
x
∥
x^{\prime}=\frac{x}{\|x\|}
x′=∥x∥x
由于数据集各组数据间差异较大,需对数据进行归一化处理
well_data = (well_data -well_data.min()) / (well_data.max() - well_data.min())