我可以帮您翻译。需要将一个pandas数据框从宽格式转换为长格式。以下是您尝试进行转换的原始回答:
pd.wide_to_long(df, ['BEV'], i='GCD', j='BEV_age_perc', sep='_')
返回一个包含0
个结果的数据框?
如下所示:
- Id列是:
GCD
(已包含在索引中) BEV_*
应该被重塑为单个列EDU_*
同理
数据框示例:
data_dict = {'GCD': {10101: 10101, 10201: 10201, 10301: 10301},
'GEM_NAME': {10101: 'Eisenstadt',
10201: 'Rust',
10301: 'Breitenbrunn am Neusiedler See'},
'BEV_UNTER15_perc': {10101: 0.0009831950352137229,
10201: 0.006775210084033614,
10301: 0.005955463490419472},
'BEV_UEBER65_perc': {10101: 0.0012830346558817375,
10201: 0.013340336134453781,
10301: 0.013257379596064217},
'AUSL_STAATSB_perc': {10101: 0.0010041140785161426,
10201: 0.003046218487394958,
10301: 0.003521491455204557},
'EWTQ_15BIS64_perc': {10101: 0.004776514887385817,
10201: 0.03996848739495798,
10301: 0.03780424650440187},
'ALQ_15PLUS_perc': {10101: 0.00047416498152151175,
10201: 0.0021008403361344537,
10301: 0.0030554117037804246},
'EDU_15_SEK_perc': {10101: 0.004114078516142528,
10201: 0.03308823529411765,
10301: 0.03381667529777317},
'EDU_15_TER_perc': {10101: 0.001436440973432815,
10201: 0.004884453781512605,
10301: 0.006266183324702227},
'AUSPENDLER_perc': {10101: 0.0030681263510215465,
10201: 0.03156512605042017,
10301: 0.04049715173485241},
'PHH_perc': {10101: 0.4540129698068475,
10201: 0.42016806722689076,
10301: 0.4743656136716727},
'HH_SIZE_perc': {10101: 0.00014782790600376543,
10201: 0.0012079831932773108,
10301: 0.0010875194199896428},
'FAMILIEN_perc': {10101: 0.2707621504776515,
10201: 0.2935924369747899,
10301: 0.2988089073019161},
'UNT_perc': {10101: 0.09113729865420822,
10201: 0.0976890756302521,
10301: 0.07767995857068877},
'AST_perc': {10101: 0.12028449898891291,
10201: 0.11134453781512606,
10301: 0.08285862247540135},
'BESCH_AST_perc': {10101: 1.2270413499755946,
10201: 0.5057773109243697,
10301: 0.2687726566545831}}
df = pd.DataFrame(data_dict)
['BEV','EDU']
将它们创建为一个重塑的单一列。但我需要将它们分别重塑成两个单独的列。我想这里需要调用两次重塑。 - Georg HeilerBEV_age_perc
不是作为输出列创建的,而是BEV
是输出列的名称。这个能改变吗?还是需要手动重命名。 - Georg Heiler