gpt4 book ai didi

python - Pandas :拆分数据框行并重新排列列值

转载 作者:太空宇宙 更新时间:2023-11-04 06:54:18 25 4
gpt4 key购买 nike

我有一个DataFrame:

import pandas as pd
df = pd.DataFrame({'Board': ['A', 'B'], 'Off': ['C', 'D'], 'Stops': ['Q/W/E', 'Z'], 'Pax': [10, 100]})

看起来像:

    Board   Off  Pax    Stops
0 A C 10 Q/W/E
1 B D 100 Z

我想要一个 DataFrameStops 列拆分并重新排列为 BoardOff具有 Pax 值的行被复制如下;

    Board   Off  Pax
0 A Q 10
1 Q W 10
2 W E 10
3 E C 10
4 B Z 100
5 Z D 100

如有任何帮助,我们将不胜感激。

最佳答案

分解步骤

df['New']=df[['Board','Stops','Off']].apply(lambda x : '/'.join(x),1)
df['New2']=df['New'].str.split('/').apply(lambda x : list(zip(x[:-1],x[1:])))

namedict = {0 : 'Board',1:'Off'}
df[['Pax','New2']].set_index('Pax').New2.apply(pd.Series).\
stack().apply(pd.Series).reset_index().\
drop('level_1',1).rename(columns=namedict)
Out[1260]:
Pax Board Off
0 10 A Q
1 10 Q W
2 10 W E
3 10 E C
4 100 B Z
5 100 Z D

关于python - Pandas :拆分数据框行并重新排列列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47394793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com