遍历大熊猫中的一列并替换为特定值

时间:2019-08-14 01:02:06

标签: python pandas iteration

我想遍历pd数据框中的一列,并用适当的值替换所有相应的值。

值在A列中为1-46。

x=0
y=1000


1=0
2=1
3-22=x+50
23-46=y+100


Input:
Column A

1
2
3
4
23
24


Expected Output:
0
1
50
100
1100
1200

1 个答案:

答案 0 :(得分:2)

您可以将pandas.Series.maplambda函数一起使用,该函数将每个旧值映射到其新值(使用我从您的示例中猜测的公式):

...

x=0
y=1000

df['A'] = df['A'].map(lambda n:
  n - 1 if n <= 2 else (
    x + 50 * (n - 2) if 3 <= n <= 22 else (
      y + 100 * (n - 22)
    )
  )
)

print(df)

输出:

      A
0     0
1     1
2    50
3   100
4  1100
5  1200