小编Asi*_*bal的帖子

Pandas 将字典分解为行

我有一个数据框:

    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)

我知道我们可以在数据框中分解列表。有什么办法可以用字典来做吗?

python dataframe pandas

7
推荐指数
1
解决办法
7060
查看次数

根据其他列的值为 Pandas Dataframe 创建列

我正在使用 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)

python pandas

2
推荐指数
1
解决办法
61
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1