gpt4 book ai didi

python - 如何使用两列来区分 Pandas 数据框中的数据点

转载 作者:行者123 更新时间:2023-12-04 00:16:30 27 4
gpt4 key购买 nike

我有一个如下所示的数据框:

import pandas as pd
df = pd.DataFrame({'a':[1,2,3], 'b':[[1,2,3],[1,2,3],[1,2,3]], 'c': [[4,5,6],[4,5,6],[4,5,6]]})

我想用 b 列和 c 列分解数据框。我知道如果我们只使用一列,那么我们可以这样做

df.explode('column_name')

但是,我找不到使用两列的方法。所以这是所需的输出。

output = pd.DataFrame({'a':[1,1,1,2,2,2,3,3,3], 'b':[1,2,3,1,2,3,1,2,3], 'c': [4,5,6,4,5,6,4,5,6]})

我试过了

df.explode(['a','b'])

但它不起作用并给了我一个

ValueError: column must be a scalar.

谢谢。

最佳答案

让我们试试

df=pd.concat([df[x].explode() for x  in  ['b','c']],axis=1).join(df[['a']]).reindex(columns=df.columns)
Out[179]:
a b c
0 1 1 4
0 1 2 5
0 1 3 6
1 2 1 4
1 2 2 5
1 2 3 6
2 3 1 4
2 3 2 5
2 3 3 6

关于python - 如何使用两列来区分 Pandas 数据框中的数据点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63459001/

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