【发布时间】:2020-12-13 00:04:13
【问题描述】:
我尝试使用 seaborn 为 python 中的日期列创建图表。我收到以下错误。你知道如何解决它吗?
----> 4 如果 df['MS_Date']=="s.xii" 或 df['MS_Date']=="s.xii(1)" 或 df['MS_Date']==" s.xii(2)" 或 df['MS_Date']=="s.xii(in)" 或 df['MS_Date']=="s.xii(ex)" 或 df['MS_Date']== “s.xii(医学)”: 5 df['MS_Date']== "12 世纪" 6 如果 df['MS_Date']=="s.xii/xiii" 或 df['MS_Date']=="s.xii/xiii":
~\anaconda\lib\site-packages\pandas\core\generic.py in nonzero(self)
1477
第1478章
-> 1479 axis 和另一个轴的标签。
1480
1481参数
ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
代码:
if df['MS_Date']=="s.xii" or df['MS_Date']=="s.xii(1)" or df['MS_Date']=="s.xii(2)" or df['MS_Date']=="s.xii(in)" or df['MS_Date']=="s.xii(ex)" or df['MS_Date']=="s.xii(med)":
df['MS_Date']== "12th century"
if df['MS_Date']=="s.xii/xiii" or df['MS_Date']=="s.xii/xiii":
df['MS_Date']=="12 & 13 century"
if df['MS_Date']=="s.xiii" or df['MS_Date']=="s.xiii(1)" or df['MS_Date']=="s.xiii(2)" or df['MS_Date']=="s.xiii(in)" or df['MS_Date']=="s.xiii(ex)" or df['MS_Date']=="s.xiii(med)":
df['MS_Date']=="13 century"
if df['MS_Date']=="s.xiii/s.xiv" or df['MS_Date']=="s.xiii/xiv":
df['MS_Date']=="13 & 14 century"
if df['MS_Date']=="s.xiii/s.xv":
df['MS_Date']=="13 & 15 century"
if df['MS_Date']=="s.xiv" or df['MS_Date']=="s.xiv(1)" or df['MS_Date']=="s.xiv(2)" or df['MS_Date']=="s.xiv(in)" or df['MS_Date']=="s.xiv(ex)" or df['MS_Date']=="s.xiv(med)":
df['MS_Date']=="14th century"
if df['MS_Date']=="s.xiv/xv":
df['MS_Date']== "14 & 15 century"
if df['MS_Date']=="s.xv" or df['MS_Date']=="s.xv(1)" or df['MS_Date']=="s.xv(2)" or df['MS_Date']=="s.xv(in)" or df['MS_Date']=="s.xv(ex)" or df['MS_Date']=="s.xv(med)" :
df['MS_Date']=="15th century"
if df['MS_Date']=="s.xv/xvi":
df['MS_Date']== "15 & 16 century"
if df['MS_Date']=="xvi" or df['MS_Date']=="s.xvi(in)":
df['MS_Date']== "16 century"
else:
df['MS_Date']=="unknown"
import seaborn as sns
sns.set(style="whitegrid")
fig, ax = plt.subplots()
fig.set_size_inches(25, 12)
sns.countplot(x='MS_Date', data=df, order=df['MS_Date'].value_counts().index, palette="Greens_d")
sns.set(style="white")
dfnew=nbl.describe(include=['object'])
num=dfnew.loc['count','MS_Date']
# df.iloc[0]['MS_Date']
ax.set_title('Distrubution of all manuscripts '+str(num)+' manuscripts')
【问题讨论】:
-
最好使用
np.select方法。您将更容易跟踪要分配的条件和值。
标签: python pandas jupyter-notebook seaborn jupyter