Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
662 views
in Technique[技术] by (71.8m points)

pandas - How to transform dictionary into dataframe in a specific way in python?

My dictionary looks like below:

enter image description here

So the keys are userIDs, and the values are contents. I want to change them into dataframe but in my specific way. The way I want is, as below:

enter image description here

In summary, I would like all individual values to be rows matching with the key (userId)

So userId is broadcasted from the first value of the key to the end and then recursively do the job until the last userId. I wish to know how to do it in code in python.

That would be much help.

Thank you.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I think you need change dictionary to list of tuples and pass to DataFrame constructor:

d = {'a':[1,2,4], 'b':[4,6,7]}

df = pd.DataFrame([(k, x) for k, v in d.items() for x in v], columns=['user','content'])
print (df)
  user  content
0    a        1
1    a        2
2    a        4
3    b        4
4    b        6
5    b        7

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...