美文网首页
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