gpt4 book ai didi

python - 通过减去 pandas 列表中的两列来返回新列

转载 作者:行者123 更新时间:2023-12-01 07:24:59 24 4
gpt4 key购买 nike

看起来很基本,但我不知道如何实现以下目标......

考虑一下我有以下数据的场景:

all_columns = ['A','B','C','D']
first_columns = ['A','B']
second_columns = ['C','D']
new_columns = ['E','F']
values = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
df = pd.DataFrame(data = values, columns = all_columns)
df
A B C D
0 1 2 3 4
1 5 6 7 8
2 9 10 11 12
3 13 14 15 16

如何使用这些数据随后减去 C 列 - A 列,然后 D 列 - B 列,并将两个新列 E 和 F 分别返回到我的 df Pandas 数据帧?我有多个列,因此不能一一编写公式。

我想它应该是这样的,但是 python 认为我正在尝试减去列表名称而不是实际列表中的值...

df[new_columns] = df[second_columns] - df[first_columns]

预期输出:

    A   B   C   D   E   F 
0 1 2 3 4 2 2
1 5 6 7 8 2 2
2 9 10 11 12 2 2
3 13 14 15 16 2 2

最佳答案

df['E'] = df['C'] - df['A']
df['F'] = df['D'] - df['B']

或者,(类似于@rafaelc的评论):

new_cols = ['E', 'F']
second_cols = ['C', 'D']
first_cols = ['A', 'B']

df[new_cols] = df[second_cols] - df[first_cols].values

关于python - 通过减去 pandas 列表中的两列来返回新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57498262/

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