import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 读取数据 df = pd.read_excel("200马力及以上四轮驱动拖拉机.xlsx") # 按照 FactoryName 和 JiJXH 进行分组,计算售价最高值和最低值 grouped = df.groupby(["FactoryName","JiJXH"])['avg_sale'].agg(['min', 'max']).reset_index() grouped = grouped.rename(columns={'min': 'min_sale', 'max': 'max_sale'}) # 将售价最高值和最低值合并到原表中 df = pd.merge(df, grouped, on=["FactoryName","JiJXH"]) # 绘制热力图,并设置颜色取值范围 sns.set_context(font_scale=1.5) plt.figure(figsize=(12,30)) sns.heatmap(df.pivot_table(index=["FactoryName","JiJXH"], columns=["shi"], values="avg_sale"), cmap='YlGnBu', annot=True, fmt='.2f', cbar_kws={'label': '单台售价','shrink':0.8,'aspect':40}, vmin=grouped['min_sale'].min(), vmax=grouped['max_sale'].max()) plt.title('''200马力及以上四轮驱动拖拉机 各生产企业各型号在不同市单台平均售价''') plt.show()提示missing from current font
时间: 2023-08-10 08:02:17 浏览: 143
这个提示通常出现在使用Matplotlib绘图时,因为Matplotlib需要找到指定的字体。如果你的电脑上没有安装指定的字体,Matplotlib就会自动选择备选字体。在这个例子中,Matplotlib无法找到需要使用的字体,所以会使用备选字体。你可以通过以下两种方式来解决这个问题:
1. 安装需要的字体:你可以在操作系统中安装缺失的字体,或者手动将字体文件复制到Matplotlib的字体文件夹中。
2. 指定Matplotlib使用的字体:你可以使用Matplotlib的rcParams设置来指定需要使用的字体,例如:
```
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei' # 指定使用宋体字体
```
在这个例子中,你可以尝试将上面的代码添加到你的脚本中,指定使用系统中已经安装的中文字体,例如宋体(SimHei)或微软雅黑(Microsoft YaHei)等。
相关问题
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'Fangsong' # 指定使用宋体字体 fig= plt.figure(figsize=(30, 25), dpi=300) ax1= fig.add_subplot(131) # 读取数据 df = pd.read_excel("test_Fd.xlsx") 把Fendmc是140-160马力四轮驱动动力换挡拖拉机查找出来
你可以使用 Pandas 的 loc 函数来筛选符合条件的数据,代码如下:
```python
df.loc[(df['Fendmc'] == '140-160马力四轮驱动动力换挡拖拉机')]
```
其中,`df['Fendmc']` 表示选取数据表中名为 Fendmc 的列,`==` 表示判断是否相等,`'140-160马力四轮驱动动力换挡拖拉机'` 则为要查找的值。
这行代码会返回符合条件的所有行数据,你可以根据需要进行进一步处理。
import numpy as np import scipy.stats as ss import pandas as pd import matplotlib.pyplot as plt import seaborn as sns df=pd.read_excel("./tmp_apply3.xlsx")读入后怎么取字段
你可以使用 Pandas 的 `loc` 或 `iloc` 方法来取出 DataFrame 中的特定字段。具体而言,`loc` 方法可以通过列名来取出字段,而 `iloc` 方法可以通过列的索引来取出字段。以下是两种方法的示例:
假设你要取出 `df` 中的 `sale` 和 `date` 两个字段,其中 `sale` 字段在第 2 列,`date` 字段在第 3 列,你可以这样做:
使用 `loc` 方法:
```python
# 通过列名取出字段
df_new = df.loc[:, ["sale", "date"]]
```
使用 `iloc` 方法:
```python
# 通过列的索引取出字段
df_new = df.iloc[:, [1, 2]]
```
上述代码中,`df_new` 就是取出 `df` 中的 `sale` 和 `date` 两个字段后得到的新 DataFrame。其中 `:` 表示取出所有行,`["sale", "date"]` 或 `[1, 2]` 表示取出第 2 列和第 3 列。你可以根据实际需要修改这些代码。
阅读全文