美文网首页
python数据分析常见问题整理

python数据分析常见问题整理

作者: 木木木有想法 | 来源:发表于2019-03-04 22:46 被阅读0次

    问题一:python是下载32位还是64位?

    个人建议是64位,原因是有些包并不支持32位的python,比如搞模型的同学会用到的lightgbm,就没有32位的包发布,所以建议直接一步到位,下载64位的python安装包

    问题二:如何解决python导入导出中文文件的问题?

    首先建议在脚本的第一行写下如下内容:

    #-*- coding: utf-8 -*-  
    

    上面的脚本是用来设置字符编码,采用utf-8编码支持中文
    但是会有即便输出了这一行脚本,仍然是乱码的问题,下面的解决方法,亲测有效

    import pandas as pd
    from_path = 'XXX'
    data = pd.read_csv(from_path,engine ='python')
    to_path = 'XXX'
    data.to_csv(to_path,encoding = 'utf_8_sig')
    

    问题三:有哪些一行代码就能搞定的数据清洗问题?

    数据清洗参考了Medium上以数据挖掘大牛Kim Lim Lee的总结

    1. 检查缺失数据
    def check_missing_data(df):
        return df.isnull().sum.sort_values(ascending = False)
    
    1. 删除没用的列
    def drop_multiple_col(col_name_list,df):
        df.drop(col_name_list,axis=1,inplace = True)
    

    inplace的设置是用删除后的结果替换原来的数据集

    1. 转换数据类型
      当数据集变大时,需要转换数据类型来节省内存
    def change_dtypes(col_int,col_float,df):
        df[col_int]=df[col_int].astype('int32')
        df[col_float]=df[col_float].astype('float32')
    
    1. 将分类变量转化为数值变量
    def convert_cat2num(df):
        num_encode={'col1':{'YES':1,'NO':0},
                                'col2':{'male':0,'female':1}}                            
    
    1. 转换时间戳
    import pandas as pd
    def convert_str_datetime(df):
        df.insert(loc=2,column='timestamp',value=pd.to_datetime(df.transdate,format='%Y-%m-%d %H:%M:%S.%f'))
    

    问题四:如何解决seaborn热力图中文显示乱码?

    plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文字体设置-黑体
    plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
    sns.set(font='SimHei')  # 解决Seaborn中文显示问题
    

    如果您觉得有帮助的话,可以给新人点个赞哈~~

    相关文章

      网友评论

          本文标题:python数据分析常见问题整理

          本文链接:https://www.haomeiwen.com/subject/mlzajqtx.html