gpt4 book ai didi

pandas - 在每一行中添加正元素(和负元素)?

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

对于我的每一行数据,我都希望正值和负值在一起:

   c1   c2  c3  c4  c5
1 2 3 -1 -2
3 2 -1 2 -9
3 -5 1 2 4

输出

   c1   c2  c3  c4  c5   sum_positive  sum_negative
1 2 3 -1 -2 6 -3
3 2 -1 2 -9 7 -10
3 -5 1 2 4 10 -5

我正在尝试使用 for 循环,例如:(G 是我的 df)并在 2 列表中添加正负元素并添加它们,但我认为可能会有是一种更好的方法。

g=[]
for i in range(G.shape[0]):
for j in range(G.shape[1]):
if G.iloc[i,j]>=0:
g.append(G.iloc[i,j])
g.append('skill_next')

最佳答案

循环或 .apply 会很慢,所以最好的办法是只.clip 值并直接求和:

In [58]: df['sum_positive'] = df.clip(lower=0).sum(axis=1)

In [59]: df['sum_negative'] = df.clip(upper=0).sum(axis=1)

In [60]: df
Out[60]:
c1 c2 c3 c4 c5 sum_positive sum_negative
0 1 2 3 -1 -2 6 -3
1 3 2 -1 2 -9 7 -10
2 3 -5 1 2 4 10 -5

关于pandas - 在每一行中添加正元素(和负元素)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67589427/

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