Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Type Error when using DiffSynth #25

Open
DarioLandwehr opened this issue Jun 2, 2023 · 3 comments
Open

Type Error when using DiffSynth #25

DarioLandwehr opened this issue Jun 2, 2023 · 3 comments

Comments

@DarioLandwehr
Copy link

Hi,
I tried using the DiffSynth class. However, I get a "Type Error: incompatible index of inserted column with frame index" when instantiating it. This occurs both when I am using my own data and when I am using the replication data from Abadie et al. (2015) that you also use in your guide. The code is the exact same as in the example for the replication data.
I also tried using the normal Synth on the same datasets wich converges without any errors.

Any suggestions or similar experiences?

@ew2631
Copy link

ew2631 commented Jun 6, 2024

I receive the same exact error, haven't figured out a workaround -would really appreciate any guidance here

@PG408
Copy link

PG408 commented Oct 27, 2024

same issues #28

@PG408
Copy link

PG408 commented Oct 27, 2024

I find the the solution,just modify "difference_data" funtion in DiffSynth class, in main.py code ,blow

        #Compute difference of outcome variable
        temp = modified_dataset.groupby(data.id)[data.outcome_var]
        temp = temp.apply(lambda unit: unit.interpolate(method='linear', limit_direction="both")).diff()
        temp = pd.DataFrame(temp).reset_index()
       
        temp.columns = [data.id, 'index', data.outcome_var]
        temp = temp.set_index('index').sort_index()
        
        modified_dataset[data.outcome_var] = temp[data.outcome_var]
        # modified_dataset[data.outcome_var] = modified_dataset.groupby(data.id)[data.outcome_var].apply(
        #                                     lambda unit: unit.interpolate(method='linear', limit_direction="both")).diff()
        #For covariates
        for col in data.covariates:
            #Fill in missing values using unitwise linear interpolation
            temp2 = modified_dataset.groupby(data.id)[col]
            temp2 = temp2.apply(lambda unit: unit.interpolate(method='linear', limit_direction="both"))
            temp2 = pd.DataFrame(temp2).reset_index()
            temp2.columns = [data.id, 'index', col]
            temp2 = temp2.set_index('index').sort_index()
            modified_dataset[col] = temp2[col]
            # modified_dataset[col] = modified_dataset.groupby(data.id)[col].apply(
            #                         lambda unit: unit.interpolate(method='linear', limit_direction="both"))
            

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants