Please look at my code:
import pandas as pd my_dict = { 1 :{'a':5 , 'b':10}, 5 :{'a':6 , 'b':67}, 7 :{'a':33 , 'b':9}, 8 :{'a':21 , 'b':37}, } df = pd.DataFrame (my_dict).transpose() df['new'] = df.index print (df)
Here I convert dictionary to DataFrame and set index as new column.
a b new 1 5 10 1 5 6 67 5 7 33 9 7 8 21 37 8
Can it be done in 1 line at the stage of converting a dictionary to a date without
df['new'] = df.index
I want to immediately recognize the major indices as cells of the new column. Something like
df = pd.DataFrame (my_dict, 'new' = list(my_dict.keys()).transpose()
Advertisement
Answer
You can just reset_index()
to create a column from index and df.rename
to change name of index
column to new
–
df = pd.DataFrame(my_dict).transpose().reset_index().rename(columns={"index": "new"}) print(df)
new a b 0 1 5 10 1 5 6 67 2 7 33 9 3 8 21 37