0

I have data values like this :

data = {'widgets' : [23,12,11,14], 'kernel' : [12,11,11,90], 'cell': [12,11,11,11]}

I am trying to convert these values in dataframe like this :

enter image description here

Where key in dict will be column values in DataFrame.

What I've tried so far :

dataframe = {'src': [], 'tar': []}
for key,value in data.items():
    temp_data = [key for k in range(len(value))]
    dataframe['src'].extend(temp_data)
    dataframe['tar'].extend(value)

pd.DataFrame(dataframe)

It's not an elegant way to do this, How to do in pure pandas way?

Aaditya Ura
  • 12,007
  • 7
  • 50
  • 88

1 Answers1

2

Use:

df = pd.DataFrame(data)
df = df.melt(var_name='src', value_name='tar')

# print(df)

        src  tar
0   widgets   23
1   widgets   12
2   widgets   11
3   widgets   14
4    kernel   12
5    kernel   11
6    kernel   11
7    kernel   90
8      cell   12
9      cell   11
10     cell   11
11     cell   11
Shubham Sharma
  • 68,127
  • 6
  • 24
  • 53