我在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等等。
答案 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