gpt4 book ai didi

python - 如何将项目 append 到 Pandas 中不同列的列表

转载 作者:行者123 更新时间:2023-11-28 22:31:07 25 4
gpt4 key购买 nike

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

dic = {'A':['PINCO','PALLO','CAPPO','ALLOP'],
'B':['KILO','KULO','FIGA','GAGO'],
'C':[['CAL','GOL','TOA','PIA','STO'],
['LOL','DAL','ERS','BUS','TIS'],
['PIS','IPS','ZSP','YAS','TUS'],
[]]}
df1 = pd.DataFrame(dic)

我的目标是为每一行插入 A 的元素作为列 C 中包含的列表的第一项。同时我想将 B 的元素设置为 C 中包含的列表的最后一项。

我能够通过使用以下代码行实现我的目标:

for index, row in df1.iterrows():
try:
row['C'].insert(0,row['A'])
row['C'].append(row['B'])
except:
pass

有没有更优雅、更有效的方法来实现我的目标,也许是使用一些 Pandas 函数?我想尽可能避免 for 循环。

最佳答案

受 Ted 的解决方案启发,但未修改列 AB:

def tolist(value):
return [value]

df1.C = df1.A.map(tolist) + df1.C + df1.B.map(tolist)

使用apply,你不会写一个明确的循环:

def modify(row):
row['C'][:] = [row['A']] + row['C'] + [row['B']]

df1.apply(modify, axis=1)

关于python - 如何将项目 append 到 Pandas 中不同列的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41763997/

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