gpt4 book ai didi

python - 高级 Python pandas reshape

转载 作者:太空狗 更新时间:2023-10-30 02:08:24 24 4
gpt4 key购买 nike

我认为这与此类似post但不完全一样,我无法理解它。

所以,我目前有一个(非常奇怪的)pandas 数据框,每个单元格中都有这样的列表:

>>> data = pd.DataFrame({'myid' : ['1', '2', '3'],
'num' : [['1', '2', '3'], ['1', '2'], []],
'text' : [['aa', 'bb', 'cc'], ['cc', 'dd'],
[]]}).set_index('myid')

>>> print(data)
num text
myid
1 [1, 2, 3] [aa, bb, cc]
2 [1, 2] [cc, dd]
3 [] []

我想实现这个:

  myid num text
0 1 1 aa
0 1 2 bb
0 1 3 cc
1 2 1 cc
1 2 2 dd
2 3

我如何到达那里?

最佳答案

我会使用 str.len 来确定嵌入列表/数组的长度。然后使用repeatconcatenate

lens = df.num.str.len()

pd.DataFrame(dict(
myid=df.myid.repeat(lens),
num=np.concatenate(df.num),
text=np.concatenate(df.text)
)).append(
pd.DataFrame(
df.loc[~df.num.astype(bool), 'myid']
)
).fillna('')

myid num text
0 1 1 aa
0 1 2 bb
0 1 3 cc
1 2 1 cc
1 2 2 dd
2 3

关于python - 高级 Python pandas reshape ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43594591/

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