我有一个数据框:
Name Sub_Marks
0 Tom {'Maths': 30, 'English': 40, 'Science': 35}
1 Harry {'Maths': 35, 'English': 30, 'Science': 25}
2 Nick {'Maths': 32, 'English': 23, 'Science': 20}
Run Code Online (Sandbox Code Playgroud)
我需要将字典分解为多行。例如
Name Subject Marks
0 Tom Maths 30
1 Tom English 40
2 Tom Science 35
3 Harry Maths 35
4 Harry English 30
5 Harry Science 25
6 Nick Maths 32
7 Nick English 23
8 Nick Science 20
Run Code Online (Sandbox Code Playgroud)
我知道我们可以在数据框中分解列表。有什么办法可以用字典来做吗?
我正在使用 Python3.7 和 Pandas v0.25.3。我有一个这样的数据框,
pri_col col1 col2 Date
r1 3 4 2020-09-10
r2 4 1 2020-09-10
r1 2 7 2020-09-11
r3 6 4 2020-09-11
Run Code Online (Sandbox Code Playgroud)
我想要类似的东西,
pri_col col1_2020-09-10 col2_2020-09-10 col1_2020-09-11 col2_2020-09-11
r1 3 4 NaN NaN
r2 4 1 NaN NaN
r1 NaN NaN 2 7
r3 NaN NaN 6 4
Run Code Online (Sandbox Code Playgroud)
我尝试了以下代码:
import pandas as pd
df = pd.DataFrame([['r1', '3', '4', '2020-09-10'], ['r2', '4', '1', '2020-09-10'], ['r1', '2', '7', '2020-09-11'], ['r3', '6', '4', '2020-09-11']], columns=['pri_col', 'col1', 'col2', 'Date'])
print(df)
df_list …Run Code Online (Sandbox Code Playgroud)