Bug的解决

  1. 关于使用Pandas的read_csv读取CSV文件。
    用了三台Mac,在有header,同时有英文字符和中文字符的情况下,使用诸如datafile.loc[0:1 'column的名称']的方式无法正确读取出csv文件里面的column的名称,总是报错(在某一台mac生成的文件是可以正常读取)
    报错的内容:datafile.title和datafile.index显示出来都是正常的;但是要么出现KeyError:(1,'column的名称')的错误,要么是the label [column的名称] is not in the [columns]
    尝试了各种另存为,用写字板改变编码,xls转csv等等都不行,中途还有utf-16的文件不能解析等错误。用sep=',', head=None之类的都不成功。
    问题之所在:还是编码问题。在mac下面将文件直接用Excel另存为中选择文件格式为制表符分割的文本(.txt)之后,还是用read_csv就可以正常读取了,不论文件中是否有中文字符,可以自由选择某一列(column)里面的内容了。

ps:可以import chardet来查看文件的编码方式
Pandas还可以实现SQL方式,比如datafile.groupby('column的名称').size()

  1. 解决matplotlib中文乱码问题(Mac下)
    首先下载一个ttc格式的字体(比如songti),window下为ttf格式。然后放在matplotlib里面的font文件夹里(可能换个地方也行)

    import matplotlib
    matplotlib.use('qt4agg')
    from matplotlib.font_manager import *
    import matplotlib.pyplot as plt
    myfont = FontProperties(fname='/路径/songti.ttc')

    用以下代码测试即可

    plt.plot([-1,2,-5,3])
    plt.title(u'中文',fontproperties=myfont)
    plt.show()

转载于:https://www.cnblogs.com/hankoui/p/8586974.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值