按行连接两个数据帧列

2024-05-23 20:18:13 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个数据帧df,其中df是:

    vaccine       age           height
0   pfizer       48.0            181.0
1   moderna      81.0            175.0
2   moderna      27.0            190.4
3   moderna      64.0            178.5

我试图将两列(年龄、身高)按行合并为一列,从而年龄和身高按各自的类别分组

基本上,我正在努力获得:

   vaccine        new_col     
0   pfizer         48.0
1   pfizer         181.0
2   moderna        81.0         
3   moderna        175.0
4   moderna         27.0             
5   moderna        190.4
6   moderna         64.0
7   moderna        178.5

我尝试过使用pd.concat、df.merge等,但没有成功。我不熟悉任何pandas函数。我也尝试过使用apply函数,但没有成功


Tags: 数据函数dfnewagecolmerge类别
1条回答
网友
1楼 · 发布于 2024-05-23 20:18:13

首先将索引设置为vaccine,然后将数据帧设置为stack,并将索引级别设置为1,最后重置索引

df.set_index('vaccine').stack().droplevel(1).to_frame('new_col').reset_index()

   vaccine  new_col
0   pfizer     48.0
1   pfizer    181.0
2  moderna     81.0
3  moderna    175.0
4  moderna     27.0
5  moderna    190.4
6  moderna     64.0
7  moderna    178.5

相关问题 更多 >