How To Convert A Defaultdict(list) To Pandas DataFrame
I have a defaultdict(list) object that is of this structure: {id: [list[list]]} for example, 'a1': [[0.01, 'cat']], 'a2': [[0.09, 'cat']], 'a3': [[0.5, 'dog']], ... I'd like t
Solution 1:
I believe you need:
df = pd.DataFrame([[k] + v[0] for k, v in my_dict.items()],
columns=['id', 'score', 'category'])
Or:
df = pd.DataFrame([(k, v[0][0], v[0][1]) for k, v in my_dict.items()],
columns=['id', 'score', 'category'])
Solution 2:
Using a list comprehension
Ex:
import pandas as pd
d = {'a1': [[0.01, 'cat']], 'a2': [[0.09, 'cat']],'a3': [[0.5, 'dog']]}
df = pd.DataFrame([[k] + j for k,v in d.items() for j in v], columns=['id', 'score', 'category'])
print(df)
Output:
id score category
0 a1 0.01 cat
1 a3 0.50 dog
2 a2 0.09 cat
Post a Comment for "How To Convert A Defaultdict(list) To Pandas DataFrame"