
数据预处理mod
专门保存关于数据预处理的代码模版。
【探索性数据分析也包含在这里】
不停下脚步的乌龟
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【代码模版】数据中numeric类数据分布情况可视化
import seaborn as snsfrom matplotlib import pyplot as pltdata_columns = ["column_name1",..., "column_namen"]for column in data_columns: g = sns.kdeplot(ori_data[column], color="Blue", shade = True) g.set_xlabel(column) g.set_yla原创 2021-06-01 09:46:35 · 141 阅读 · 0 评论 -
【列名重命名】变量列名重命名
DF = DF.rename(columns={'column_old_name':'column_new_name'})原创 2020-12-09 12:04:30 · 1061 阅读 · 0 评论 -
【按列合并】DF,csv,按某列合并,pandas
import pandas as pddf1 = pd.read_csv('path') # 读取第一个文件df2 = pd.read_csv('path') # 读取第二个文件outfile = pd.merge(df1, df2, left_on='column_name', right_on='column_name') # 文件合并,left_on=左侧DataFrame中的列;right_on=右侧DataFrame中的列...原创 2020-12-09 12:03:04 · 1867 阅读 · 0 评论 -
【DF两列时间相减】
# 两日期相减DF['day_diff'] = pd.to_datetime(DF['date1'])-pd.to_datetime(DF['date2'])# 对相减后的间隔天数day_diff列去除尾部的“days”,精度到日DF['day_diff'] = DF['day_diff'].map(lambda x: x/np.timedelta64(1,'D'))原创 2020-11-26 19:34:54 · 1234 阅读 · 0 评论 -
【对DF加入统一的时间列】
# 加入日期的字符串格式DF['date_time'] = 'xxxx-xx-xx'# 将加入的日期的字符串格式化为时间格式DF['date_time']=DF['date_time'].astype('datetime64')原创 2020-11-26 19:32:12 · 899 阅读 · 0 评论 -
【对DF中字符串列的字符串长度进行计算】
DF['content_len'] = DF['column_name'].str.len()DF原创 2020-11-26 19:29:50 · 1191 阅读 · 0 评论 -
【按照某列的值对DF数据行的索引进行筛选并删除】
DF[DF['column_name'] == value]del_index = DF[DF['column_name'] == value].indexDF1 = DF.drop(del_index)DF1原创 2020-11-26 19:28:04 · 2599 阅读 · 0 评论 -
【对csv某列进行清洗,只保留中文】基于正则的mod
DF['column_name'] = DF['column_name'].str.replace(r'[^\u4e00-\u9fa5]', '') # 对csv某列数据进行清洗,只保留中文原创 2020-10-21 17:38:41 · 701 阅读 · 1 评论 -
【对csv某列进行清洗,只保留数字】基于正则的mod
DF['column_name'] = DF['column_name'].str.replace(r'[^0-9]', '') # 对csv某列数据进行清洗,只保留数字原创 2020-10-21 17:37:17 · 1350 阅读 · 1 评论 -
【代码模版】数据去重(含多文件批量去重)
# 数据去重基本版# 查看重复情况print("数据重复值:", DF1.duplicated().sum())# 数据去重,并查看去重后的shapeDF2 = DF1.drop_duplicates()print("数据去重后的DF_shape:", DF2.shape)# 数据去重后原索引缺失,需重构索引【注意】DF2.index = range(DF2.shape[0])print("数据索引重构结果:", DF2.index) # 查看重构后索引是否完善遍历某个文件夹下的每个原创 2020-10-07 13:26:18 · 1023 阅读 · 0 评论 -
【astype数据类型更改】Pandas更改csv某列数据类型
# 改变DF某列数据的数据类型DF[['column_name']] = DF[['column_name']].astype(float) # astype内的不用加引号# 两个DF按行合并(上下拼接)new_DF = pd.concat([DF1,DF2],axis=0)原创 2020-06-19 15:46:38 · 2070 阅读 · 0 评论 -
【代码模版】sklearn实现PCA的基本过程
from sklearn.decomposition import PCApca = PCA(n_components=n) # 指定降维到n维pca.fit(X) # 进行降维print(pca.explained_variance_ratio_) # Percentage of variance explained by each of the selected component...原创 2020-03-07 18:17:31 · 850 阅读 · 0 评论 -
【代码模版】寻找并删除所有值全部相同的无用特征
#let's look for any columns that contain only one unique value and remove themtotal_columns = DF1.columnsdrop_columns = []for col in total_columns: col_series = DF1[col].dropna().unique() # 特...原创 2020-03-18 18:37:34 · 289 阅读 · 0 评论 -
【代码模版】数据中object类数据各类别数目查看与可视化及代数变换
1. 定类数据各类别数查看及可视化# 前置库:pandas# 对标签列进行观察,查看已标注样本各类别对数量print(pd.value_counts(DataFrame['column'], sort=True))# 图形化展示from matplotlib import pyplot as pltpd.value_counts(DataFrame['target_column'])....原创 2020-03-18 18:31:12 · 305 阅读 · 0 评论 -
【代码模版】对于偏态/峰态数据log化,使之近似正态分布
# 对数据进行log transformDF[['column1', 'column2',..., 'columnn']].apply(np.log)# 对数据偏态系数和峰态系数的测量DF[['column1', 'column2',..., 'columnn']].apply(np.log).apply(scipy.stats.skew)# .apply(scipy.stats.skew...原创 2020-03-17 14:37:00 · 1193 阅读 · 0 评论 -
【代码模版】子数据框的创建
进行数据分析时可能需要单独抽出若干特征组合成新的子数据框# 子数据框函数def get_subgroup(dataframe, g_index, g_columns): """Helper function that creates a sub-table from the columns and runs a quick uniqueness test.""" ...原创 2020-03-16 20:02:55 · 155 阅读 · 0 评论 -
【代码模版】数据分析报告生成:pandas_profiling
import pandas_profilingpandas_profiling.ProfileReport(DF)原创 2020-03-16 21:26:17 · 258 阅读 · 0 评论 -
【代码模版】对数据某个特征内的值进行数据清洗参考案例
# 对neighbourhood列进行观察data1['neighbourhood'].value_counts()# 发现neighbourhood列汉字拼音夹杂,应该清洗为统一格式# neighbourhood列清洗data1.loc[:, 'neighbourhood'] = [str(x)[0: 3] for x in data1.loc[:, 'neighbourhood']...原创 2020-03-12 21:29:05 · 211 阅读 · 0 评论 -
【经验总结】数据预处理经验总结1
1. 对于特征较多的DF,进行数据预处理时需要对每个特征变量进行相关处理,为了避免混乱,可以DF.info()后将输出复制到sublime,然后在sublime中针对每个特征变量进行处理方式标注# 非python代码,只是为了展示在sublime中的效果action_type 30697 non-null object[get dummies]combined_shot_...原创 2020-03-11 20:48:35 · 726 阅读 · 0 评论 -
【代码模版】数据异常值处理
异常值的处理需要考虑业务情景,不同的业务情景对异常值的定义及处理方式不同初步利用数据描述的转置查看连续型数据的情况# 转置只是为了更加便于观看DataFrame.describe().T显示某个连续型特征标准分的绝对值是大于3的数据信息(一般认为是异常值)# create std_scorestd_score = (DataFrame['column_name'] - Data...原创 2020-03-04 19:29:35 · 1629 阅读 · 0 评论 -
【代码模版】数据缺失值处理
缺失值情况查看# 数据缺失值情况查看DataFrame.isnull().sum()# 对某个特征列具体缺失情况进行查看DataFrame[DataFrame['column_name'].isnull()]对某个特征的缺失值进行平均值填充DataFrame['column_name'].fillna(round(DataFrame['column_name'].mean()), ...原创 2020-03-04 19:04:08 · 558 阅读 · 0 评论 -
【DF基本信息查看】mod
# 查看数据的基本情况print(DataFrame.shape)print("=" * 60)print(DataFrame.info())print("=" * 60)print(DataFrame.describe())print("=" * 60)print(DataFrame.columns)# 查看重复情况DataFrame.duplicated().sum()...原创 2020-03-04 18:43:27 · 511 阅读 · 1 评论 -
【代码模版】有监督学习下特征/标签和训练集/测试集的划分
记录该模版就是为了方便调用,免得每次都要写代码# 划分特征与标签X = DataFrame.iloc[:, DataFrame.columns != 'target_name']Y = DataFrame.iloc[:, DataFrame.columns == 'target_name']# 划分训练集与测试集from sklearn.model_selection import ...原创 2020-03-02 12:14:59 · 1610 阅读 · 3 评论 -
【代码模版】pandas生成哑变量(dummy variable)
注意:生成哑变量时最好采用k类生成k-1个的方法,避免“哑变量陷阱”# 对于数据框中只含有一个需要哑变量转换的特征:DataFrame2 = pd.get_dummies(DataFrame1, drop_first=True)# drop_first = True 保证生成k-1个哑变量# 对于数据框中多个需要哑变量转化的特征:DataFrame2 = pd.get_dummie...原创 2020-03-02 12:09:20 · 3362 阅读 · 0 评论 -
【代码模版】对数据框中的年月日进行Datetime类型转换
数据框中可能会有年、月、日各自单独呈一列的情况。对上述情况进行Datetime类型转化,便于数据可视化等# 处理时间数据import datetime# 分别得到年,月,日years = DataFrame['year']months = DataFrame['month']days = DataFrame['day']# datetime格式dates = [str(i...原创 2020-03-02 11:47:40 · 510 阅读 · 0 评论 -
【代码模版】删除列、Z-score、下/过采样、class_weight
【删除不需要的列】# 前置库:pandas# 删除不需要的列DataFrame.drop(columns=['column_name'], inplace=True)【对某列数据进行Z-score标准化】# 前置库:pandas# 对某列进行标准化from sklearn.preprocessing import StandardScalerDataFrame['column_n...原创 2020-02-21 21:28:00 · 371 阅读 · 0 评论