如何从DataFrame的列中减去单个值

2024-09-29 01:30:41 发布

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

我有一个数据帧,假设:

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

我想从“hb”列的每个成员中减去一个值“5”

新列可以是:

hb
9
8
11
7

做这件事最好的方法是什么

谢谢和问候


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

如果您正在使用:

df['hb'] - 5

您将获得一个新的单列。但如果您想保留其余部分,则必须使用:

df['hb'] -= 5

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

df.loc[:, "hb"] = df["hb"].apply(lambda x: x - 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

相关问题 更多 >