以下是我正在运行的代码:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
titanic = sns.load_dataset("titanic")
y =titanic.groupby([titanic.fare//1,'sex']).survived.mean().reset_index() #grouping by 'fare' rounded to an integer and 'sex' and then getting the survivability
x =pd.cut(y.fare, (0,17,35,70,300,515)) #I'm not sure if my format is correct but this is how I cut up the fare values
y['Fare_bins']= x # adding the newly created bins to a new column "Fare_bins' in original dataframe.
#graphing with seaborn
sns.set(style="whitegrid")
g = sns.factorplot(x='Fare_bins', y= 'survived', col = 'sex', kind ='bar' ,data= y,
size=4, aspect =2.5 , palette="muted")
g.despine(left=True)
g.set_ylabels("Survival Probability")
g.set_xlabels('Fare')
plt.show()
我遇到的问题是Fare_values显示为(0,17)。 左侧是圆形支架,右侧是方括号。 如果可能的话我想要这样的东西: (0-17)或[0-17]
接下来,每个条形图之间似乎存在差距。我期待他们相邻。有两个图表被表示,所以我不希望这些条形图是连接的,但前5个条形图(第一个图形)应该连接,最后5个条形图相互连接(第二个图形)。
我如何解决这两个问题呢?
答案 0 :(得分:0)
似乎我可以添加标签。 只需在“cut”方法参数中添加标签,我就可以根据需要显示Fare_values。
x =pd.cut(y.fare, (0,17,35,70,300,515), labels = ('(0-17)', '(17-35)', '(35-70)', '(70-300)','(300-515)') )
至于fare_value组周围的括号, 根据文件:
right : bool, optional
Indicates whether the bins include the rightmost edge or not. If right == True (the default), then the bins [1,2,3,4] indicate (1,2], (2,3], (3,4].
仍然不确定是否可以加入酒吧。