gpt4 book ai didi

python - Pandas 中的列操作

转载 作者:太空狗 更新时间:2023-10-30 00:56:46 25 4
gpt4 key购买 nike

假设我有一个数据框:

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(4,5), columns = list('abcde'))

我想从所有其他列中减去 df.a 列中的条目。换句话说,我想获得一个包含以下列的列的数据框:

|col_b - col_a | col_c - col_a | col_d - col_a|

我试过 df - df.a 但这会产生一些奇怪的东西:

  0   1   2   3   a   b   c   d   e
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN NaN NaN

如何在 Pandas 中执行这种类型的按列操作?另外,只是想知道 df -df.a 有什么作用?

最佳答案

你可能想要

>>> df.sub(df.a, axis=0)
a b c d e
0 0 0.112285 0.267105 0.365407 -0.159907
1 0 0.380421 0.119536 0.356203 0.096637
2 0 -0.100310 -0.180927 0.112677 0.260202
3 0 0.653642 0.566408 0.086720 0.256536

df-df.a 基本上是尝试沿另一个轴进行减法,因此索引不匹配,并且在使用像减法这样的二元运算符时“不匹配的索引将联合在一起” (正如文档所说)。由于索引不匹配,您最终得到0 1 2 3 a b c d e

例如,您可以通过调换事物更间接地到达同一目的地,(df.T - df.a).T,通过翻转 df 意味着默认轴现在是正确的。

关于python - Pandas 中的列操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14949455/

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