gpt4 book ai didi

python - 将 A 列列表中的最后一个值添加到 b 列列表中

转载 作者:行者123 更新时间:2023-12-05 03:17:18 24 4
gpt4 key购买 nike

我有以下数据框:

    df_test = pd.DataFrame({"f":['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b'],
"d":['x', 'x', 'y', 'y', 'x', 'x', 'y', 'y'],
"low": [0,5,2,4,5,10,4,8],
"up": [5,10,4,6,10,15,8,12],
"z": [1,3,6,2,3,7,5,10]})

我首先要做的是将“low”、“up”和“z”列转换为列出每个(分组依据)“f”和“d”。所以这就是我所做的:

    dff = df_test.groupby(['f','d'])[['low', 'up', 'z']].agg(list).reset_index()

这就是我得到的: enter image description here

现在我想从“up”列的列表中提取最后一个值,并将其添加到“low”列的列表中。但不幸的是,这不起作用:

    dff['last'] = (dff['up'].apply(lambda x: x[-1])).tolist()
dff['new'] = dff['low'].append(dff['last'])

我收到一条错误消息“ValueError:无法从重复轴重新索引”。"new"列应具有以下值:[0,5,10], [2,4,6], [5,10,15], [4,8,12]

非常感谢任何帮助!

最佳答案

另一种可能的解决方案:

dff['new'] = dff['low'] + pd.Series([[x[1]] for x in dff['up']])

输出:

   f  d      low        up        z          new
0 a x [0, 5] [5, 10] [1, 3] [0, 5, 10]
1 a y [2, 4] [4, 6] [6, 2] [2, 4, 6]
2 b x [5, 10] [10, 15] [3, 7] [5, 10, 15]
3 b y [4, 8] [8, 12] [5, 10] [4, 8, 12]

关于python - 将 A 列列表中的最后一个值添加到 b 列列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74174413/

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