plv_tb.reset_index()
时间: 2023-10-23 18:13:32 浏览: 32
这个代码是用来重置 Pandas DataFrame 中的索引的。reset_index() 函数会将原来的索引列变成普通的列,并在 DataFrame 中添加一个新的默认索引。具体而言,它会返回一个新的 DataFrame,其中原来的索引变成了新 DataFrame 的一列,新的索引从 0 开始递增。如果 DataFrame 中已经存在了一列名为 index 的列,则 reset_index() 函数会将其覆盖。
需要注意的是,reset_index() 函数默认不会修改原始的 DataFrame,而是返回一个新的 DataFrame。如果想要修改原始的 DataFrame,可以设置参数 inplace=True。
相关问题
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_apply2.xlsx") sns.set_context(font_scale=20) plt.rcParams['font.family'] = 'FangSong' plv_tb=pd.pivot_table(df,values="sale",index=["FactoryName","JiJXH"],columns=["Xian"],aggfunc=np.mean) fig, ax = plt.subplots(figsize=(200,10)) sns.heatmap(plv_tb,vmin=plv_tb.min().min(), vmax=plv_tb.max().max(),cmap=sns.color_palette("RdYlBu",n_colors=10),annot=True, fmt='g', annot_kws={"size": 20}, ax=ax) plt.show()能否使x轴xian折叠成多行显示,这样使图不至于很长
可以使用`FacetGrid`函数实现x轴Xian的分行显示。
首先需要导入`FacetGrid`函数:
```python
from seaborn import FacetGrid
```
然后将`plv_tb`转换为DataFrame,并添加Xian列:
```python
plv_df = plv_tb.reset_index()
plv_df['Xian'] = plv_df['Xian'].astype(str)
```
接着,将`FacetGrid`应用于`plv_df`并指定`col`参数为`Xian`,`col_wrap`参数为想要分行的数量。然后使用`map_dataframe`函数绘制热力图,并设置其他参数:
```python
g = FacetGrid(plv_df, col="Xian", col_wrap=4, sharex=False, sharey=False, height=5, aspect=1.5)
g = g.map_dataframe(sns.heatmap, x="FactoryName", y="JiJXH", cbar=False, annot=True, fmt='g', annot_kws={"size": 16}, cmap=sns.color_palette("RdYlBu",n_colors=10))
```
其中,`sharex=False`和`sharey=False`参数可以避免x轴和y轴的刻度标签重叠。
完整代码如下:
```python
import numpy as np
import scipy.stats as ss
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from seaborn import FacetGrid
df=pd.read_excel("./tmp_apply2.xlsx")
sns.set_context(font_scale=20)
plt.rcParams['font.family'] = 'FangSong'
plv_tb=pd.pivot_table(df,values="sale",index=["FactoryName","JiJXH"],columns=["Xian"],aggfunc=np.mean)
plv_df = plv_tb.reset_index()
plv_df['Xian'] = plv_df['Xian'].astype(str)
g = FacetGrid(plv_df, col="Xian", col_wrap=4, sharex=False, sharey=False, height=5, aspect=1.5)
g = g.map_dataframe(sns.heatmap, x="FactoryName", y="JiJXH", cbar=False, annot=True, fmt='g', annot_kws={"size": 16}, cmap=sns.color_palette("RdYlBu",n_colors=10))
plt.show()
```
sns.heatmap(plv_tb, vmin=plv_tb.min().min(), vmax=plv_tb.max().max(), cmap=sns.color_palette("RdYlBu_r", n_colors=256), annot=True, fmt='g', annot_kws={"size": 10})指定标签字体
你可以使用 `sns.set(font_scale=font_scale_value)` 来设置所有标签的字体大小,其中 `font_scale_value` 是一个浮点数,表示缩放字体的比例。如果你只想调整注释标签的字体大小,可以使用 `annot_kws={"size": size_value}`,其中 `size_value` 是一个整数,表示注释标签的字体大小。例如:
```python
sns.set(font_scale=1.5)
sns.heatmap(plv_tb, vmin=plv_tb.min().min(), vmax=plv_tb.max().max(), cmap=sns.color_palette("RdYlBu_r", n_colors=256), annot=True, fmt='g', annot_kws={"size": 10})
```
这将设置所有标签的字体大小为原始大小的1.5倍,并将注释标签的字体大小设置为10。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)