Is there a built-in function apart from DataFrame.from_dict
able to create a dataframe from a dictionary with unequal list of values?
What I am trying to do create a dataframe from the following dictionary:
d = {'g': {1, 2, 3}, 'h': {4, 5}}
so the output should look like:
value class
0 1 g
1 2 g
2 3 g
3 4 h
4 5 h
Is having the set instead of a list a problem?
Yet another way using melt
pd.DataFrame(d.values(), d.keys()).T.melt().dropna()
If you don't mind manually unwrapping, you can achieve this through
In [9]: pd.DataFrame([(x, k) for k, v in d.items() for x in v], columns=['value', 'class'])
Out[9]:
value class
0 1 g
1 2 g
2 3 g
3 4 h
4 5 h
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With