循环中的python交叉表函数

时间:2015-04-28 13:31:38

标签: python pandas crosstab

我在python中安静一段时间,但坚持简单的问题。我必须为具有相同ID变量的不同变量运行交叉表函数(masteruserid)

pd.crosstab(data['MasterUserId'],visittime_cat)
pd.crosstab(data['MasterUserId'],week_cat)

现在我想做7-8次同样的事情。我没有重新调用交叉表函数,而是想放入一个循环并为每次迭代生成一个交叉表数据集。我尝试了这个,但没有成功

def cross_tab(id_col,field):
    col_names=['visittime_cat','week_cat','var3','var4']
    for i in col_names:
        'crosstab_{ }'.format(i)=pd.crosstab(id_col,i)

我想生成数据集,例如crosstab_visittime_cat,crosstab_week_cat或者作为crosstab_1,crosstab_2等等。

1 个答案:

答案 0 :(得分:0)

我建议将数据集存储在字典中吗?

onshow

使用虚构数据集进行测试

def cross_tab(data_frame, id_col):
    col_names=['visittime_cat','week_cat','var3','var4']
    datasets = {}
    for i in col_names:
        datasets['crosstab_{}'.format(i)] = pd.crosstab(data_frame[id_col], data_frame[i])
    return datasets