gpt4 book ai didi

python - 将数据表合并到同一列

转载 作者:行者123 更新时间:2023-12-05 02:34:49 25 4
gpt4 key购买 nike

我有两个不同的数据(学生表现)。

dict1 --- 第一学期的表现
dict2 --- 第二学期的表现

我需要连接两个 df,以便学期的子列出现在学科列中。

import pandas as pd
dict1 = {'Students': ['A', 'B', 'C'], 'Dicsipline1': ['a', 'na', 'a'], 'Dicsipline2': ['a', 'na', 'a']}
dict2 = {'Students': ['A', 'B', 'C'], 'Dicsipline1': ['na', 'a', 'a'], 'Dicsipline2': ['a', 'a', 'a']}
df1 = pd.DataFrame(dict1)
df2 = pd.DataFrame(dict2)

想要的结果如

enter image description here

我需要添加一个级别。

最佳答案

使用:

df = pd.concat({'1': df1.set_index('Students'),
'2': df2.set_index('Students')},
axis=1).swaplevel(axis=1).sort_index(axis=1)

或者:

df = pd.concat({'1': df1.set_index('Students'),
'2': df2.set_index('Students')}).unstack(level=0)

             Dicsipline1     Dicsipline2   
1 2 1 2
Students
A a na a a
B na a na a
C a a a a

请注意,您可以在末尾使用 reset_index() 以将学生包含在列中

关于python - 将数据表合并到同一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70699274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com