鉴于此数据框,我正在尝试查找所有以NA开头的单元格,并替换
import pandas as pd
df = pd.DataFrame({'A': ('a', 'b', 'c', 'd', 'e', 'NA_1', 'NA_2'), 'Val': (1, 2, 3, 4, 5, 6, 7)})
A Val
0 a 1
1 b 2
2 c 3
3 d 4
4 e 5
5 NA_1 6
6 NA_2 7
我正在尝试得到这样的东西:
A Val
0 a 1
1 b 2
2 c 3
3 d 4
4 e 5
5 NA_1 -100
6 NA_2 -100
这是我到目前为止所拥有的:
s = df.replace('NA_1', 100).drop('Val', 1).ffill(1).iloc[:, -1]
print(s)
df.Val = np.where(s.isnull(), df.Val, s)
答案 0 :(得分:1)
您可以像这样使用lambda函数:
df['Val'] = df.apply(lambda x: -100 if 'NA' in x['A'] else x['Val'], axis=1)