python列联表分析

python列联表分析,生成分类条形图,计算卡方,生成个案数据

########################################
#### 创建 个案数据 供 spss excel 这样的软件分析 #
########################################
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

hobby = np.array([[11, 12, 13], [21, 22, 23], [31, 32, 33]])
hobby2 = np.repeat(hobby, [20, 10, 2, 5, 20, 35, 2, 10, 20])
hobby2
r = np.mod(hobby2, 10)
c = np.floor(hobby2/10)

df = pd.DataFrame(zip(r, c), columns=['age', 'hobby'])
df

df.to_clipboard()

# pd.crosstab(hobby)
#
# pd.crosstab(df)
#
# df.groupby(['age', 'hobby']).value_counts()
# df

df.keys()
df.groupby(['age']).count()
df.groupby(['hobby']).count()
# df.groupby(['age', 'hobby']).count()

# df.pivot_table()

# pd.crosstab(df['age'])
pd.crosstab(index=df['age'], columns=df['hobby'], )

a = np.array(pd.crosstab(index=df['age'], columns=df['hobby']))

import scipy.stats as stats

stats.chi2_contingency(a)

import seaborn as sns

sns.countplot(x=df['age'], hue=df['hobby'])
plt.xlabel(['laonian', 'zhognnian', 'qingnian'])
plt.ylabel(['xiqu', 'gewu', 'qiusai'])

g = sns.countplot(x = df['age'], hue=df['hobby'])
g.set_xlabel(['lao', 'zhogn', 'qing'])
# g.set_xtick(['lao', 'zhogn', 'qing'])

结果如下图
在这里插入图片描述
卡方
在这里插入图片描述
条形图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值