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

基于Pandas DataFrame条件创建列表(Python)

解决思路与实现方案

核心处理步骤

  • 第一步:过滤无效数据,仅保留GS列值为1的记录,直接排除Jack这类GS为非1值(如NaN)的球员
  • 第二步:按Team字段分组,把筛选后的球员分别归入TeamA和TeamB两个分组
  • 第三步:提取每组内的球员姓名,整理成要求的字符串格式

代码实现(两种方案)

方案1:用Pandas处理表格数据(适合结构化数据场景)

import pandas as pd

# 构建原始表格数据
data = {
    'Player': ['Jack', 'John', 'Mike', 'James'],
    'Team': ['A', 'B', 'A', 'A'],
    'GS': [pd.NA, 1, 1, 1]
}
df = pd.DataFrame(data)

# 筛选+分组提取球员名
filtered_data = df[df['GS'] == 1]
team_groups = filtered_data.groupby('Team')['Player'].apply(list)

# 生成目标格式字符串
TeamA = ', '.join(team_groups.get('A', []))
TeamB = ', '.join(team_groups.get('B', []))

# 输出结果
print(f"TeamA = {TeamA}")
print(f"TeamB = {TeamB}")

方案2:纯Python基础语法实现(无需第三方库)

# 原始球员数据列表
players = [
    {'Player': 'Jack', 'Team': 'A', 'GS': None},
    {'Player': 'John', 'Team': 'B', 'GS': 1},
    {'Player': 'Mike', 'Team': 'A', 'GS': 1},
    {'Player': 'James', 'Team': 'A', 'GS': 1}
]

# 初始化分组容器
team_rosters = {'A': [], 'B': []}

# 遍历筛选并分组
for player in players:
    if player['GS'] == 1:
        team_rosters[player['Team']].append(player['Player'])

# 输出结果
print(f"TeamA = {', '.join(team_rosters['A'])}")
print(f"TeamB = {', '.join(team_rosters['B'])}")

两种方案运行后都会输出你需要的结果:

TeamA = Mike, James
TeamB = John

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:05:32