![]() |
unable to automate table creation with crosstab - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Data Science (https://python-forum.io/forum-44.html) +--- Thread: unable to automate table creation with crosstab (/thread-24062.html) |
unable to automate table creation with crosstab - larryb - Jan-29-2020 So i'm able to automate parts of the code, but for the actual table creation with "crosstab" i can't quite figure it out. Please help me automate the creation of "tab001", "tab002", etc part of this code... import numpy as np import pandas as pd import pyreadstat data, meta = pyreadstat.read_sav('/home/larry/Downloads/4607.sav') meta_dict = dict(zip(meta.column_names, meta.column_labels)) my_list = [] for y in meta.column_names: my_list.append(y) tab001 = pd.crosstab(data[my_list[13]].\ map(meta.variable_value_labels[my_list[13]]), \ data['qdp2'].map(meta.variable_value_labels['qdp2']), \ dropna=True, margins=True). \ loc[meta.variable_value_labels[my_list[13]].values()]. \ loc[:,meta.variable_value_labels['qdp2'].values()].round(4) tab002 = pd.crosstab(data[my_list[14]].\ map(meta.variable_value_labels[my_list[14]]), \ data['qdp2'].map(meta.variable_value_labels['qdp2']), \ dropna=True, margins=True). \ loc[meta.variable_value_labels[my_list[14]].values()]. \ loc[:,meta.variable_value_labels['qdp2'].values()].round(4) tab003 = pd.crosstab(data[my_list[15]].\ map(meta.variable_value_labels[my_list[15]]), \ data['qdp2'].map(meta.variable_value_labels['qdp2']), \ dropna=True, margins=True). \ loc[meta.variable_value_labels[my_list[15]].values()]. \ loc[:,meta.variable_value_labels['qdp2'].values()].round(4) tab004 = pd.crosstab(data[my_list[16]].\ map(meta.variable_value_labels[my_list[16]]), \ data['qdp2'].map(meta.variable_value_labels['qdp2']), \ dropna=True, margins=True). \ loc[meta.variable_value_labels[my_list[16]].values()]. \ loc[:,meta.variable_value_labels['qdp2'].values()].round(4) tab005 = pd.crosstab(data[my_list[17]].\ map(meta.variable_value_labels[my_list[17]]), \ data['qdp2'].map(meta.variable_value_labels['qdp2']), \ dropna=True, margins=True). \ loc[meta.variable_value_labels[my_list[17]].values()]. \ loc[:,meta.variable_value_labels['qdp2'].values()].round(4) tables = [tab001, tab002, tab003, tab004, tab005] with open('/home/larry/Downloads/tabfreq.txt','w') as outfile: for x in tables: x.to_string(outfile) outfile.write("\n\n") outfile.write("###############################################################################\n") outfile.write("###############################################################################") outfile.write("\n\n") |