gpt4 book ai didi

python - 根据单元格值分解数据帧

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:16 24 4
gpt4 key购买 nike

我有一个看起来像这样的数据框:

import pandas as pd
import numpy as np

f = {'business':['#','FX','IR'],
'AL':['A','L','#'],
'Company':['207','#','1']}
filterr = pd.DataFrame(data=f)
filterr

每当数据框中出现“#”时,我都需要根据列表中的每个组合重复行。我拥有的列表集看起来像:

business=['FX','IR']
AL=['A','L']
Company=['1','207']

所以,我要寻找的最终结果类似于:

f1 = {'business':['FX','IR','FX','FX','IR','IR'],
'AL':['A','A','L','L','A','L'],
'Company':['207','207','1','207','1','1']
}

filter_output=pd.DataFrame(data=f1)
display(filter_output)

关于最有效的方法有什么想法吗?

谢谢!!

最佳答案

这是一种方法,我不确定有效的部分

filterr.mask(filterr.eq('#')).fillna(d).stack().str.split(',').apply(pd.Series).stack().unstack(1).ffill()
Out[804]:
business AL Company
0 0 FX A 207
1 IR A 207
2 CR A 207
1 0 FX L 1
1 FX L 207
2 0 IR A 1
1 IR L 1

d={'business':'FX,IR,CR',
'AL':'A,L',
'Company':'1,207'}

关于python - 根据单元格值分解数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56741189/

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