Pandas:如何根据另一列的值创建列?

时间:2015-09-24 01:44:48

标签: python pandas dataframe

我需要在数据框的末尾创建一个新列,其中新列中的值是应用某些函数的结果,这些函数的参数基于其他列。具体来说,从另一列,但不同的行。例如,如果我的数据框有两列,分别包含值x_iy_i,我的第三列将是f(x_(i-1), y_(i-1))

我知道要创建一个新列,最简单的方法就是做一些像

这样的事情
df['new_row'] = ...

但我不确定我能做些什么。

我该怎么做?

3 个答案:

答案 0 :(得分:1)

这样的东西?或者你的功能更复杂?

gunicorn manage:app

答案 1 :(得分:1)

以下是一个例子:

df['new_col'] = df['old_col'] * df['old_col']

或者,如果您编写了一个包含两个数组的自定义函数,例如:

def f(arr1, arr2):
        new_arr = # put logic here
        return newer

你可以尝试:

df['new_col'] = f(df['old_col'], df['old_col2'])

答案 2 :(得分:1)

1   3
3   3
43  4
2   3

with open("file", 'r') as f:
     for line in f:
        n, r = line.split()
        formula = pow(int(n),int(r))
        print("{:4}{:4}{:9}".format(n,r, formula))

<强>输出

1    3           1

3    3          27

43  4     3418801

2   3           8