You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame多列堆叠为一列并保留对应number列数据

解决方案

要实现将多列堆叠为一列并保留对应number值,同时过滤掉包含空值的行,可以按以下步骤操作:

原始数据

team1team2.team3number
bitdefenderholdingbv1
gardnermanufacturingco2
indianaareaschool3
nhbbNoneNone2
phenixNoneNone2

实现代码

import pandas as pd

# 构造原始DataFrame
df = pd.DataFrame({
    'team1': ['bitdefender', 'gardner', 'indiana', 'nhbb', 'phenix'],
    'team2.': ['holding', 'manufacturing', 'area', None, None],
    'team3': ['bv', 'co', 'school', None, None],
    'number': [1, 2, 3, 2, 2]
})

# 先过滤掉包含空值的行
df_filtered = df.dropna(subset=['team1', 'team2.', 'team3'])

# 堆叠team列并整理结果
result = df_filtered.melt(
    id_vars='number',
    value_vars=['team1', 'team2.', 'team3'],
    value_name='teamtogether'
).drop(columns='variable').reset_index(drop=True)

# 调整列顺序(可选)
result = result[['teamtogether', 'number']]

print(result)

输出结果

teamtogethernumber
bitdefender1
gardner2
indiana3
holding1
manufacturing2
area3
bv1
co2
school3

(顺序可根据需要调整,核心满足多列堆叠+对应number重复的需求)

内容的提问来源于stack exchange,提问作者Rus Zzzeta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 13:54:23