使用pandas的随机区组分配

stochatreat的Python项目详细描述


stochatreat

简介

这是一个python模块,使用pandas实现块随机化。主要考虑到RCT,它也适用于任何其他场景,您希望在blocksstrata中随机分配治疗。

安装

pip install stochatreat

用法

单个群集:

fromstochatreatimportstochatreatimportnumpyasnpimportpandasaspd# make 1000 households in 5 different neighborhoods.np.random.seed(42)df=pd.DataFrame(data={'id':list(range(1000)),'nhood':np.random.randint(1,6,size=1000)})# randomly assign treatments by neighborhoods.treats=stochatreat(data=df,# your dataframeblock_cols='nhood',# the blocking variabletreats=2,# including controlidx_col='id',# the unique id columnrandom_state=42)# merge back with original datadf=df.merge(treats,how='left',on='id')# check for allocationsdf.groupby('nhood')['treat'].value_counts().unstack()# previous code should return thistreat0.01.0nhood1105105295953959541031035102102

多个簇和治疗概率:

fromstochatreatimportstochatreatimportnumpyasnpimportpandasaspd# make 1000 households in 5 different neighborhoods, with a dummy indicatornp.random.seed(42)df=pd.DataFrame(data={'id':list(range(1000)),'nhood':np.random.randint(1,6,size=1000),'dummy':np.random.randint(0,2,size=1000)})# randomly assign treatments by neighborhoods and dummy status.treats=stochatreat(data=df,block_cols=['nhood','dummy'],treats=2,probs=[1/3,2/3],idx_col='id',random_state=42)# merge back with original datadf=df.merge(treats,how='left',on='id')# check for allocationsdf.groupby(['nhood','dummy'])['treat'].value_counts().unstack()# previous code should return thistreat0.01.0nhooddummy1038741336520356912957303058134684036721336550346713568

致谢

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无JPA的纯Hibernate ORM java SpringBoot配置   安卓会生成一组唯一的java数字   java我的自定义阵列列表每次启动时都会崩溃我不确定为什么会一直崩溃   Java继承;将子类传递给超类的抽象方法   java从没有if语句的数组中获取instanceof type   java中使用对象的温度转换   存储库接口的JavaSpringDataMongoDBeanXML配置   java JAXWS为iBM websphere、iBM web服务客户端添加寻址   数组试图返回Java中两个对象的面积之和   apache Spark java:columnNameOfCorruptRecord和badRecordsPath在加载csv时不工作   java无法创建。txt文件   java Hibernate与MySQL插入查询不一致   不考虑java Hazelcast分布式地图的最大大小   bash Java如何在父进程中设置环境变量