如何使用pandas和python从列中减去单个值

2024-09-29 01:26:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框假设:

name age hb
ali  34  14
jex  16  13
aja  24  16
joy  23  12

我有一个值,比如“5”,我想从“hb”列的每个成员中减去它

新列可以是:

hb
9
8
11
7

最好的方法是什么。。。

谢谢和问候。


Tags: 数据方法nameage成员ali问候hb
3条回答

如果您正在使用:

df['hb'] - 5

你将得到一个新的单列。但如果你想保留剩下的,你必须使用:

df['hb'] -= 5

只需从pandas.Series中减去标量值,对于数值列,panda将自动广播标量值,并从列中的每个元素中减去它。示例-

df['hb'] - 5 #Where `df` is your dataframe.

演示-

In [43]: df
Out[43]:
  name  age  hb
0  ali   34  14
1  jex   16  13
2  aja   24  16
3  joy   23  12

In [44]: df['hb'] - 5
Out[44]:
0     9
1     8
2    11
3     7
Name: hb, dtype: int64

您还可以使用pandas.apply函数执行此操作

df["hb"] = df["hb"].apply(lambda x: x - 5)

相关问题 更多 >