python - 列中的 Pandas 最大值并减去

标签 python pandas

我有一个像这样的 Pandas 数据框:

df = pd.DataFrame({'A':[1,1,1,2,2,2,3,3,3],
               'B':[3,2,20,1,6,2,3,22,1]})

我想在“B”列中找到“最大值”,然后从“B”列中的所有值中减去该最大值,并使用新结果创建一个新列“C”。底部 df 最大值为 22。

   A  B  C
2  1  3  -19
1  1  2  -20
0  1  20 -2
3  2  1  -21
5  2  6  -16
4  2  2  -20
8  3  3  -19
7  3  22  0
6  3  1  -21

最佳答案

您可以将“B”列与 max 相减的结果分配给新列。 “B”列的:

In [25]:
df['C'] = df['B'] - df['B'].max()
df

Out[25]:
   A   B   C
0  1   3 -19
1  1   2 -20
2  1  20  -2
3  2   1 -21
4  2   6 -16
5  2   2 -20
6  3   3 -19
7  3  22   0
8  3   1 -21

关于python - 列中的 Pandas 最大值并减去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43327125/

相关文章:

python - 在 Cartopy 中创建陆地/海洋面具?

python - 在另一个单元格中的plot()之后未渲染AxesSubplot

python - 如何从 pandas 的列中过滤第一次出现的普通话字符并将其放入另一列中

python - 解析日期列后 pandas 合并功能出现问题

python - 本地 HTML 文件抓取 Urllib 和 BeautifulSoup

python - 如何更改 seaborn violinplot 图例标签?

python - 只需在 flask 中登录系统并出现 "Method Not Allowed"错误

python - 从旧的 pandas df 创建新的 pandas df

python - 通过 XML 解析时记录被删除

python - pandas:输出两列字符串列表之间的差异