数据来源天池新人赛工业蒸汽预测数据https://tianchi.aliyun.com/competition/entrance/231693/introductionspm=5176.12281973.1005.4.3dd574ffWvvEJ0

数据读取:
path = r'train_datasets.txt'
df = pd.read_csv(path,seq = '\t')#既可以对txt文件又可以对csv,xls等文件读取
df = pd.read_table(path) #多用于对txt文件
对于一些含有中文字符的文件读取,如果对encoding参数不加以指定会出现乱码情况,所以需要注意文件的编码方式,一般来说现在的一些非图像数据采用的多是用csv或者txt文件形式的,查看或更改其编码方式的时候可以利用Excel,按如下方式查看

首先查看数据文件的字符编码方式,编码为gb2312或utf-8时,可以按 如下方式对含中文字符文件进行读取
df = pd.read_csv(path,encoding = 'gb2312')
查看数据
获取数据每一列对应的信息,是否缺失可以用:
df.info()

查看每一组数据的统计值,画出箱线图,可以用
df.describe()
df.plot.box


df.head() #查看前5行数据

df.tail() #默认看后5行

- 获取dataFrame中的值
- t是这样一个形式

- 按行获取
- >>>t.loc['mean']
- output[]:

- 获取某行某列的元素
- >>> t.loc['mean',["VV_NRCS","HH_NRCS","VH_NRCS","HV_NRCS"]]
- output[]:

- 将数值以数组格式输出
- t.loc['mean',["VV_NRCS","HH_NRCS","VH_NRCS","HV_NRCS"]].values
- 输入输出如下:

- 数组转换成列表
- 输入输出格式

- 输入输出格式
- 按列获取
- 按列获取

- 按列获取
- 将dataFrame格式数据存为csv文件
- df.to_csv("data_after_processing.csv",index = False)
- 不加上index = False会让数据前多了一类index
- t是这样一个形式
常用的异常数据处理方式
- 将含字符型数据处理成float类型数据
def str2num(x) :
try :
t = float(x)
except :
t = np.nan
return t
columns = list(df.columns)
for col in columns:
df[col] = df[col].apply(str2num)
- 删除数据中的一些无意义字符
df = df.replace(['*','/'],np.NaN) #remove the *,/ in all the columns
- 对缺失数据的数值型特征填充所有该特征的均值
df['col_name'] = df['col_name'].fillna(df['col_name'].mean())
- 将文本型数据转为数值格式 object --> float64
df['col_name'] = pd.to_numeric(df['col_name'],errors='ignore')
-
将字符类型的值转为数字
mapping = {'A':0,'B':1}
df['col_name'] = df['col_name'].map(mapping)
- 删除含空值的数据样本
df = df.dropna(subset=["col_name1","col_name2","col_name3"],axis=0) #删除含空值的行数据
- 离散特征值的编码方式
one_hot_df = pd.get_dummies(df["col_name"]) #将离散值特征使用one-hot编码
df_new = pd.concat([df,one_hot_df],axis=1,ignore_index=False) #将编码后的特征与原始数据在列方向拼接
#-------------------------------------长期更新
308



被折叠的 条评论
为什么被折叠?



