plv_tb=pd.pivot_table(df, values="sale", index=["FactoryName","JiJXH"], columns=["Xian"], aggfunc=np.mean) 怎么查到Xian索引
时间: 2023-07-06 09:05:42 浏览: 174
在这个代码中,"Xian"是作为列名使用的,因此它不是索引。如果你想查看 "Xian" 这一列在数据框中的位置,可以使用以下代码:
```
print(df.columns.get_loc("Xian"))
```
这将输出 "Xian" 列所在的位置的索引值。如果你想将 "Xian" 列作为索引之一,你可以使用以下代码:
```
plv_tb = pd.pivot_table(df, values="sale", index=["FactoryName", "JiJXH", "Xian"], aggfunc=np.mean)
```
这将把 "Xian" 列移动到索引的位置,并将它作为其中之一。
相关问题
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=10) plv_tb=pd.pivot_table(df,values="sale",index=["FactoryName","JiJXH"],columns=["Xian"],aggfunc=np.mean) plv_df["Xian"] = df["Xian"].astype(str) plv_df g = FacetGrid(plv_tb, col="Xian", col_wrap=4, sharex=False, sharey=False, height=5, aspect=1.5) sns.heatmap(g,vmin=plv_tb.min().min(), vmax=plv_tb.max().max(),cmap=sns.color_palette("RdYlGn",n_colors=10)) plt.show()如何修改代码使Xian可以展开多行,制作清晰色阶图
可以将 `col_wrap` 参数设置为 `None`,这样就可以展开多行了。同时,可以调整 `height` 和 `aspect` 参数来制作清晰的色阶图,比如将 `height` 设置为 10,`aspect` 设置为 0.8。修改后的代码如下:
```
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=10)
plv_tb=pd.pivot_table(df, values="sale", index=["FactoryName","JiJXH"], columns=["Xian"], aggfunc=np.mean)
plv_tb["Xian"] = df["Xian"].astype(str)
g = FacetGrid(plv_tb, col="Xian", col_wrap=None, sharex=False, sharey=False, height=10, aspect=0.8)
sns.heatmap(g, vmin=plv_tb.min().min(), vmax=plv_tb.max().max(), cmap=sns.color_palette("RdYlGn", n_colors=10))
plt.show()
```
注意,`plv_df` 应该改为 `plv_tb`。
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=10) plv_tb=pd.pivot_table(df, values="sale", index=["FactoryName","JiJXH"], columns=["Xian"], aggfunc=np.mean) plv_tb["Xian"] = df["Xian"].astype(str) g = FacetGrid(plv_tb, col="Xian", col_wrap=None, sharex=False, sharey=False, height=10, aspect=0.8) sns.heatmap(g, vmin=plv_tb.min().min(), vmax=plv_tb.max().max(), cmap=sns.color_palette("RdYlGn", n_colors=10)) plt.show()提示 Number of columns must be a positive integer, not 0,怎么修改
根据您提供的代码,出现错误的原因可能是 `col_wrap=None` 参数导致的。将其修改为 `col_wrap=1` 即可解决问题,如下所示:
```
g = FacetGrid(plv_tb, col="Xian", col_wrap=1, sharex=False, sharey=False, height=10, aspect=0.8)
```
这样修改后,每个子图都会单独占据一列。
阅读全文