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

如何用Pandas按Team与y值提取JSON文件中的x数组列表?

用Pandas按team和y值提取x数组的解决方案

1. 读取JSON文件到DataFrame

你的JSON文件是每行一个独立JSON对象的格式,用Pandas读取时需要指定lines=True:

import pandas as pd

# 替换为你的JSON文件路径
df = pd.read_json('your_data.json', lines=True)

2. 提取单个条件的x数组列表

比如提取team="A"且y="Contemporary"的所有x数组:

# 筛选条件并提取x列,转成列表
target_x_lists = df[(df['team'] == 'A') & (df['y'] == 'Contemporary')]['x'].tolist()

# 输出结果(每个元素是一个x数组)
print(target_x_lists)

3. 批量按team-y组合提取(推荐用groupby,无需手动循环)

Pandas的groupby可以高效实现按team和y分组提取,比手动循环更简洁高效:

# 按team和y分组,将每组的x数组合并为列表,转成字典便于查询
grouped_x = df.groupby(['team', 'y'])['x'].apply(list).to_dict()

# 示例:查询team="A"、y="Contemporary"的x数组列表
print(grouped_x.get(('A', 'Contemporary'), []))

4. 嵌套双层循环实现(仅作参考,不推荐)

如果一定要用嵌套循环,先获取所有唯一的team和y值,再逐个组合筛选:

# 获取所有不重复的team和y值
unique_teams = df['team'].unique()
unique_y = df['y'].unique()

# 用字典存储每个team-y组合对应的x数组列表
result = {}
for team in unique_teams:
    for y_val in unique_y:
        # 筛选当前组合的x数组
        filtered_x = df[(df['team'] == team) & (df['y'] == y_val)]['x'].tolist()
        if filtered_x:  # 只保留有数据的组合
            result[(team, y_val)] = filtered_x

# 输出所有结果
print(result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:25:20