pandas 和 matplotlib 使用中遇到和解决的一些问题

matplotlib 无法显示中文和负号的解决方法

2019年8月23日

使用matplotlib画图的时候会出现无法正常显示中文的情况,可以使用下列方法解决:

plt.rcParams['font.sans-serif']=['SimHei']  # 用来正常显示中文标签 

显示中文后,会出现数字前的负号无法正常显示的状态,可以使用下列方法解决:

plt.rcParams['axes.unicode_minus']=False  # 用来正常显示负号

可能疑问:
为什么已经有了第一个可以显示中文之后,还不行呢?
解答:在加入显示中文之后,会导致负号显示出现问题,这时候就需要使用第二条语句来使用,当然如果有不需要用到负号就直接用第一句话就好了~

使用pandas读取大文件会报memoryError错误

2019年8月23日

由于数据过大一次性读取可能导致内存溢出,可以使用pandas的分块读取解决

data = pd.read_csv([path],engine='python',chunksize=[chunksize])
for chunk in data:
    #dosometing

使用pandas绘图时的绘图种类

import pandas as pd
data = pd.DataFrame()
data.plot(kind=[kind])
kind = {
	'line':'折线图(默认)',
	'bar':'柱状图',
	'barh':'条形图',
	'box':'箱型图',
	'Scatter':'散点图', ## x,y:x轴,y轴 c:分组 color:颜色 s:大小
	'pie':'饼状图',
	'hexbin':'六边形分布(没用过)',
	'area':'面积图'
}

https://pandas.pydata.org/pandas-docs/version/0.15.0/visualization.html

使用pandas绘图时调整图像的大小

filter_data_pd = pd.DataFrame()
filter_data_pd[column].value_counts().sort_index().plot(kind='bar',figsize=(20,10))

箱型图使用介绍

箱型图:又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图(在数据分析中常用在异常值检测)
包含一组数据的:最大值、最小值、中位数、上四分位数(Q3)、下四分位数(Q1)、异常值
① 中位数 → 一组数据平均分成两份,中间的数
② 上四分位数Q1 → 是将序列平均分成四份,计算(n+1)/4与(n-1)/4两种,一般使用(n+1)/4
③ 下四分位数Q3 → 是将序列平均分成四份,计算(1+n)/4*3=6.75
④ 内限 → T形的盒须就是内限,最大值区间Q3+1.5IQR,最小值区间Q1-1.5IQR (IQR=Q3-Q1)
⑤ 外限 → T形的盒须就是内限,最大值区间Q3+3IQR,最小值区间Q1-3IQR (IQR=Q3-Q1)
⑥ 异常值 → 内限之外 - 中度异常,外限之外 - 极度异常

作者:越大大雨天
链接:https://www.jianshu.com/p/d975c6fbe87b
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

# plt.boxplot()绘制
# pltboxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None, bootstrap=None, 
# usermedians=None, conf_intervals=None, meanline=None, showmeans=None, showcaps=None, showbox=None, showfliers=None, boxprops=None, 
# labels=None, flierprops=None, medianprops=None, meanprops=None, capprops=None, whiskerprops=None, manage_xticks=True, autorange=False, 
# zorder=None, hold=None, data=None)

df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
plt.figure(figsize=(10,4))
# 创建图表、数据

f = df.boxplot(sym = 'o',  # 异常点形状,参考marker
               vert = True,  # 是否垂直
               whis = 1.5,  # IQR,默认1.5,也可以设置区间比如[5,95],代表强制上下边缘为数据95%和5%位置
               patch_artist = True,  # 上下四分位框内是否填充,True为填充
               meanline = False,showmeans=True,  # 是否有均值线及其形状
               showbox = True,  # 是否显示箱线
               showcaps = True,  # 是否显示边缘线
               showfliers = True,  # 是否显示异常值
               notch = False,  # 中间箱体是否缺口
               return_type='dict'  # 返回类型为字典
              ) 
plt.title('boxplot')
print(f)

for box in f['boxes']:
    box.set( color='b', linewidth=1)        # 箱体边框颜色
    box.set( facecolor = 'b' ,alpha=0.5)    # 箱体内部填充颜色
for whisker in f['whiskers']:
    whisker.set(color='k', linewidth=0.5,linestyle='-')
for cap in f['caps']:
    cap.set(color='gray', linewidth=2)
for median in f['medians']:
    median.set(color='DarkBlue', linewidth=2)
for flier in f['fliers']:
    flier.set(marker='o', color='y', alpha=0.5)
# boxes, 箱线
# medians, 中位值的横线,
# whiskers, 从box到error bar之间的竖线.
# fliers, 异常值
# caps, error bar横线
# means, 均值的横线
<think>好的,用户想知道如何在Python中安装pandasmatplotlib库。首先,我得回忆一下自己安装这些库的经验。通常,Python的库可以通过pip安装,但有时候可能会有依赖问题。特别是像pandasmatplotlib这样的库,可能需要先安装一些依赖包。 记得之前用户提到过引用[2]引用[3],里面详细说明了依赖关系安装步骤。引用[2]指出安装pandas需要先装numpy、six、python-dateutil、pytz这些依赖包。而matplotlib可能也有自己的依赖,比如numpycycler之类的。不过,通常pip会自动处理这些依赖,所以可能不需要手动安装每一个。 用户可能是在使用Windows、macOS还是Linux?不同的系统可能会有细微差别,比如权限问题或者需要安装某些系统库。但一般来说,使用pip install命令就可以解决大部分问题。不过,有时候用户可能会遇到网络问题,或者需要安装特定版本的情况。 然后,引用[3]提到pandas不包含Excel文件的打开功能,需要另外安装openpyxl或者xlrd。这可能是一个需要注意的点,但用户的问题主要是安装pandasmatplotlib,所以这部分可能暂时不需要深入。 接下来,我应该分步骤说明安装过程。首先推荐使用pip安装,这是最直接的方法。然后,如果用户使用Anaconda,也可以用conda安装,这对于管理依赖可能更方便。同时,要提醒用户注意安装权限,可能需要使用管理员权限或者虚拟环境。 另外,验证安装是否成功也很重要。应该让用户导入库并查看版本,或者运行简单的代码来测试。比如引用[1]中的代码示例,可以引导用户测试是否能够导入pandasmatplotlib,并生成图表。 可能遇到的问题包括pip版本过旧,这时候需要先升级pip。还有可能遇到编译依赖的问题,尤其是在Linux系统中,可能需要安装python3-dev或其他开发工具包。但为了不让用户感到困惑,可能先不深入这部分,除非用户遇到具体错误。 最后,要确保回答结构清晰,步骤明确,用户能够一步步跟着操作。同时,附上相关问题,帮助用户扩展知识,比如如何检查库是否安装成功,如何处理依赖冲突等。</think>### 如何在Python中安装pandasmatplotlib库? #### 方法1:通过pip安装(推荐) 1. **升级pip**(可选但建议): ```bash python -m pip install --upgrade pip ``` 2. **安装依赖包**(部分系统可能需要手动安装): ```bash pip install numpy six python-dateutil pytz ``` 3. **安装pandasmatplotlib**: ```bash pip install pandas matplotlib ``` 若需要支持Excel文件操作,可额外安装`openpyxl`[^3]: ```bash pip install openpyxl ``` #### 方法2:通过Anaconda安装 若已安装Anaconda,可直接使用conda命令: ```bash conda install pandas matplotlib ``` #### 验证安装 ```python import pandas as pd import matplotlib.pyplot as plt print("pandas版本:", pd.__version__) print("matplotlib版本:", plt.matplotlib.__version__) ``` #### 注意事项 - **权限问题**:若提示权限不足,在命令前添加`sudo`(Linux/macOS)或以管理员身份运行命令行(Windows) - **虚拟环境**:建议在虚拟环境中安装以避免依赖冲突,例如: ```bash python -m venv myenv source myenv/bin/activate # Linux/macOS myenv\Scripts\activate # Windows ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值