其他
8个数据清洗Python代码,复制可用,最长11行
原作 Kin Lim Lee
乾明 编译整理
量子位 出品 | 公众号 QbitAI
涵盖8大场景的数据清洗代码
删除多列、更改数据类型、将分类变量转换为数字变量、检查缺失数据、删除列中的字符串、删除列中的空格、用字符串连接两列(带条件)、转换时间戳(从字符串到日期时间格式)
删除多列
AIM -> Drop multiple columns based on their column names
INPUT -> List of column names, df
OUTPUT -> updated df with dropped columns
------
df.drop(col_names_list, axis=1, inplace=True)
return df
转换数据类型
AIM -> Changing dtypes to save memory
INPUT -> List of column names (int, float), df
OUTPUT -> updated df with smaller memory
------
df[col_int] = df[col_int].astype( int32 )
df[col_float] = df[col_float].astype( float32 )
将分类变量转换为数值变量
# Convert categorical variable to numerical variable
num_encode = { col_1 : { YES :1, NO :0},
col_2 : { WON :1, LOSE :0, DRAW :0}}
df.replace(num_encode, inplace=True)
检查缺失数据
# check for any missing data in the df (display in descending order)
return df.isnull().sum().sort_values(ascending=False)
删除列中的字符串
# remove a portion of string in a dataframe column - col_1
df[ col_1 ].replace(, , regex=True, inplace=True)
# remove all the characters after &# (including &#) for column - col_1
df[ col_1 ].replace( &#.* , , regex=True, inplace=True)
删除列中的空格
# remove white space at the beginning of string
df[col] = df[col].str.lstrip()
用字符串连接两列(带条件)
# concat 2 columns with strings if the last 3 letters of the first column are pil
mask = df[ col_1 ].str.endswith( pil , na=False)
col_new = df[mask][ col_1 ] + df[mask][ col_2 ]
col_new.replace( pil , , regex=True, inplace=True) # replace the pil with emtpy space
转换时间戳(从字符串到日期时间格式)
AIM -> Convert datetime(String) to datetime(format we want)
INPUT -> df
OUTPUT -> updated df with new datetime format
------
df.insert(loc=2, column= timestamp , value=pd.to_datetime(df.transdate, format= %Y-%m-%d %H:%M:%S.%f ))
赠送三本机器学习基础书籍
机器学习线性代数基础-Python语言描述
内容介绍:数学是机器学习绕不开的基础知识,传统教材的风格偏重理论定义和运算技巧,想以此高效地打下机器学习的数学基础,针对性和可读性并不佳。本书以机器学习涉及的线性代数核心知识为重点,进行新的尝试和突破:从坐标与变换、空间与映射、近似与拟合、相似与特征、降维与压缩这5个维度,环环相扣地展开线性代数与机器学习算法紧密结合的核心内容,并分析推荐系统和图像压缩两个实践案例,在介绍完核心概念后,还将线性代数的应用领域向函数空间和复数域中进行拓展与延伸;同时极力避免数学的晦涩枯燥,充分挖掘线性代数的几何内涵,并以Python语言为工具进行数学思想和解决方案的有效实践。
《机器学习线性代数基础:Python语言描述》适合实践于数据分析、信号处理等工程领域的读者,也适合在人工智能、机器学习领域进行理论学习和实践,希望筑牢数学基础的读者,以及正在进行线性代数课程学习的读者阅读。
赠送方式
关注下方公众号,回复:抽奖
推荐阅读
1、史上最全 | 数据分析技能详细拆解,一张图覆盖全流程知识细节和资源推荐
2、周志华教授报告:如何做研究与写论文?附完整pdf下载链接
3、吴恩达新书《Machine Learning Yearning》完整中文版(附下载)
4、资源 | 宾夕法尼亚大学计算机系教授1900页机器学习数学全书,附下载链接
5、北大开源了中文分词工具包,准确度远超Jieba,提供三个预训练模型