1

I have created a dataframe like below after transposing and adding few columns.

Initial df-

                         plan_benefits  value                    plan_benefits_db value_db  valid_flag
0            durable_medical_equipment     20           durable_medical_equipment       40       False
1                                  pcp     45                                 pcp       40       False
2                           specialist     80                          specialist       40       False
3                           diagnostic   7540                          diagnostic       40       False
4                              imaging    300                             imaging       40       False
5                              generic     30                             generic    40500       False
6                      formulary_brand    110                     formulary_brand    40500       False
7                non_preferred_generic  55110               non_preferred_generic    40500       False
8                       emergency_room    350                      emergency_room       40       False
9                   inpatient_facility     20                  inpatient_facility       40       False
10           medical_deductible_single   2000           medical_deductible_single     6000       False
11           medical_deductible_family   4000           medical_deductible_family    12000       False
12  maximum_out_of_pocket_limit_single   7550  maximum_out_of_pocket_limit_single     6650       False
13  maximum_out_of_pocket_limit_family  15100  maximum_out_of_pocket_limit_family    13300       False

Final df -

  plan_benefits  durable_medical_equipment    pcp  specialist  diagnostic  imaging  generic  formulary_brand  non_preferred_generic  emergency_room  inpatient_facility  medical_deductible_single  medical_deductible_family  maximum_out_of_pocket_limit_single  maximum_out_of_pocket_limit_family plan_name      pdf_name
    valid_flag                         False  False       False       False    False    False            False                  False           False               False                      False                      False                               False                               False   ABCBCBC  adjnajdn.pdf

Operations I have performed-

    df_repo = df_repo[['plan_benefits', 'valid_flag']].set_index('plan_benefits').transpose()

    df_repo['plan_name'] = 'ABCBCBC'
    df_repo['pdf_name'] = 'adjnajdn.pdf'
    # df_repo = df_repo.drop('plan_benefits', 1)

    print(df_repo.to_string())

I need to remove the first column 'plan_benefits'. When using drop(), I am getting KeyError: "['plan_benefits'] not found in axis"

I have tried multiple options like del df['plan_benefits'] but nothing is working.

Final after the answers in the comments -

 durable_medical_equipment    pcp  specialist  diagnostic  imaging  generic  formulary_brand  non_preferred_generic  emergency_room  inpatient_facility  medical_deductible_single  medical_deductible_family  maximum_out_of_pocket_limit_single  maximum_out_of_pocket_limit_family plan_name      pdf_name
0                      False  False       False       False    False    False            False                  False           False               False                      False                      False                               False                               False   ABCBCBC  adjnajdn.pdf
user1896796
  • 731
  • 3
  • 9
  • 25

1 Answers1

0

First is necessary remove columns name and create default index:

df = (df_repo[['plan_benefits', 'valid_flag']].set_index('plan_benefits')
              .T.reset_index(drop=True))
df.columns.name = None

Or:

df = (df_repo[['plan_benefits', 'valid_flag']]
        .set_index('plan_benefits')
        .transpose()
        .reset_index(drop=True)
        .rename_axis(None, axis=1))

print (df)
   durable_medical_equipment    pcp  specialist  diagnostic  imaging  generic  \
0                      False  False       False       False    False    False   

   formulary_brand  non_preferred_generic  emergency_room  inpatient_facility  \
0            False                  False           False               False   

   medical_deductible_single  medical_deductible_family  \
0                      False                      False   

   maximum_out_of_pocket_limit_single  maximum_out_of_pocket_limit_family  
0                               False                               False 

And last add index=False to DataFrame.to_excel:

df.to_excel('file.xlsx', index=False)

Btw, because index is removed, solution should be simplify:

df = df_repo[['plan_benefits', 'valid_flag']].set_index('plan_benefits').transpose()
df.to_excel('file.xlsx', index=False)
jezrael
  • 822,522
  • 95
  • 1,334
  • 1,252