I have a pandas dataframe as follows:
dataframe = pd.DataFrame(
{
'ID': [1,2,3,4],
'Gender': ['F','F','M','M'],
'Language': ['EN', 'ES', 'EN', 'EN'],
'Year 1': [2020,2020,2020,2020],
'Score 1': [93,97,83,86],
'Year 2': [2020,2020,None,2018],
'Score 2': [85,95,None,55],
'Year 3': [2020,2018,None,None],
'Score 3': [87,86,None,None]
}
)
ID | 性别 | 语言 | 年份1 | 分数1 | 年份2 | 分数2 | 年份3 | 分数3 |
---|---|---|---|---|---|---|---|---|
1 | F | EN | 2020 | 93 | 2020 | 85 | 2020 | 87 |
2 | F | ES | 2020 | 97 | 2020 | 95 | 2018 | 86 |
3 | M | EN | 2020 | 83 | ||||
4 | M | EN | 2020 | 86 | 2018 | 55 |
我想根据年份和相应的分数进行融合,例如如果任何一个年份等于2020,则将生成以下内容:
ID | 性别 | 语言 | 年份 | 分数 |
---|---|---|---|---|
1 | F | EN | 2020 | 93 |
1 | F | EN | 2020 | 85 |
1 | F | EN | 2020 | 87 |
2 | F | ES | 2020 | 97 |
2 | F | ES | 2020 | 95 |
3 | M | EN | 2020 | 83 |
4 | M | EN | 2020 | 86 |
我已经尝试使用 pd.melt
,但是我在筛选跨列年份并保留相应条目方面遇到了问题。