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

Steam游戏数据处理:将DataFrame语言zip列转为Top10语言标识列

解决方案

假设你的DataFrame名为df,可以通过以下步骤实现需求:

步骤1:提取Top10语言列表

先从任意一行的"Both languages"列中提取Top10语言列表(假设所有行的Top10列表一致):

top10_langs = df['Both languages'].iloc[0][1]

步骤2:定义处理函数

编写一个函数,接收每行的元组数据,返回对应Top10语言的0/1标记:

import pandas as pd

def mark_language_presence(lang_tuple):
    steam_langs = set(lang_tuple[0])
    return pd.Series([1 if lang in steam_langs else 0 for lang in top10_langs], index=top10_langs)

步骤3:生成新列并合并到原DataFrame

将函数应用到"Both languages"列,生成包含所有Top10语言列的DataFrame,再与原DataFrame合并:

lang_columns = df['Both languages'].apply(mark_language_presence)
df = pd.concat([df, lang_columns], axis=1)

步骤4:(可选)删除原列

如果不需要保留"Both languages"列,可以删除:

df.drop('Both languages', axis=1, inplace=True)

示例验证

针对你提供的示例行数据:

sample_tuple = (['English', 'French', 'Italian', 'German', 'Spanish - Spain', 'Japanese', 'Portuguese - Brazil', 'Russian', 'Simplified Chinese', 'Traditional Chinese'], ['English', 'Simplified Chinese', 'Russian', 'Spanish - Spain', 'Portuguese - Brazil', 'German', 'Japanese', 'French', 'Polish', 'Korean'])

应用函数后会生成如下列值:

EnglishSimplified ChineseRussianSpanish - SpainPortuguese - BrazilGermanJapaneseFrenchPolishKorean
1111111100

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 05:12:09