pandas数据集的端到端处理
1.数据集基本信息
df=pd.read_csv()
df.head():前五行;
df.info():
- rangeindex:行索引;
- datacolumns:列索引;
- dtypes:各个列的类型,
- 主体部分是各个列值的情况,比如可判断是否存在NaN值;
对于非数值型的属性列
- df[‘some_categorical_columns'].value_counts():取值分布;
df.describe():各个列的基本统计信息
- count
- mean
- std
- min/max
- 25%,50%,75%:分位数
df.hist(bins=50,figsize=(20,15)):统计直方图;
对df的每一列进行展示:
train_prices=pd.DataFrame({'price':train_df.SalePrice, 'log(price+1)':np.log1p(train_df.SalePrice)}) #train_prices共两列,一列列名为price,一列列名为log(price+1) train_prices.hist()
2.数据集拆分
defsplit_train_test(data,test_ratio=.3): shuffled_indices=np.random.permutation(len(data)) test_size=int(len(data)*test_ratio) test_indices=shuffled_indices[:test_size] train_indices=shuffled_indices[test_size:] returndata.iloc[train_indices],data.iloc[test_indices]
3.数据预处理
- 一键把categorical型特征(字符串类型)转化为数值型:
>>df['label']=pd.Categorical(df['label']).codes
- 一键把categorical型特征(字符串类型)转化为one-hot编码:
>>df=pd.get_dummies(df)
- null值统计与填充:
>>df.isnull().sum().sort_values(ascending=False).head() #填充为mean值 >>mean_cols=df.mean() >>df=df.fillna(mean_cols) >>df.isnull().sum().sum() 0
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接