gpt4 book ai didi

python - 根据条件合并行

转载 作者:行者123 更新时间:2023-12-05 06:57:12 25 4
gpt4 key购买 nike

我有如下数据框

enter image description here

我想在 25 的索引上合并 24,25 和 26 的“Transaction Particulars”索引,与合并 交易详情 索引 28,29 和索引 29 上的 30 相同并且此合并基于Tran Date 如果Tran Date 的高于和低于值是Nan 然后将所有这三个索引合并到Tran Date value index

我试试

tm['originalIdx'] = tm.apply(lambda x:x.name if x['Tran Date']!='' else None, axis=1).ffill()

tm = pd.merge(tm.drop('Transaction Particulars', axis=1),
pd.DataFrame(tm.groupby(['originalIdx'])['Transaction Particulars'].apply(lambda x: " ".join(x))),
left_index=True, right_index=True, how='left')

最佳答案

答案在这里

tm = tm[~tm['Tran Date'].str.match(r'^\D', na=False)].replace(np.nan,'')

tm['originalIdx'] = tm.apply(lambda x:x.name if x['Tran Date']!='' else None, axis=1).bfill(limit=1).ffill(limit=2)

tm = pd.merge(tm.drop('Transaction Particulars', axis=1),
pd.DataFrame(tm.groupby(['originalIdx'])['Transaction Particulars'].apply(lambda x: " ".join(str(v) for v in x))),
left_index=True, right_index=True, how='left')

使用这段代码我解决了我的问题

关于python - 根据条件合并行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64942336/

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