#---------------------------------------------------------#
#--- * 我的 列联表数据构造 * ----#
#--------------------------------------------------------#
like = np.array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
freq = np.repeat(like, [20, 5, 2, 10, 20, 10, 2, 35, 20])
freq
agegrp = [1] * (20+5+2) + [2] * (10 + 20+10) + [3] * (2 +35 +20)
agegrp
df2 = pd.DataFrame(zip(agegrp,freq), columns=['agegrp', 'freq'])
df2
df_c = pd.crosstab(df2['agegrp'], df2['freq'])
df_c
df_c.index = ['old', 'mid', 'young']
df_c
df_c.columns = ['xiqu', 'gewu', 'qiusai']
df_c
df2.keys()
a = np.array(pd.crosstab(index = df2['agegrp'], columns = df2['freq']))
a
import scipy.stats as stats
stats.chi2_contingency(a)
import seaborn as sns
df2['agegrp']
df2['freq']
df2
fig, ax = plt.subplots()
sns.countplot(x = df2['agegrp'], hue = df2['freq'])
ax.set_xticklabels(['old', 'mid', 'young'])
plt.legend(['xiqu', 'gewu', 'qiusai'])
结果如图