【发布时间】:2018-08-31 15:49:06
【问题描述】:
以下面的例子为例。要替换一个特定列中的一个字符串,我已经这样做了,并且效果很好:
df = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'],
'data1': range(6),
'data2': ['A1', 'B1', 'C1', 'A1', 'B1', 'C1']},
columns = ['key', 'data1', 'data2'])
key data1 data2
0 A 0 A1
1 B 1 B1
2 C 2 C1
3 A 3 A1
4 B 4 B1
5 C 5 C1
df['data2']= df['data2'].str.strip().str.replace("A1","Bad")
key data1 data2
0 A 0 Bad
1 B 1 B1
2 C 2 C1
3 A 3 Bad
4 B 4 B1
5 C 5 C1
Q(1) 如何有条件地替换一个字符串?这意味着,在data2 列中,我想替换A1,但只替换if "key==A" and "data1">1。我该怎么做?
Q(2) 条件替换能否应用于多次替换(即同时将A1 and A2替换为“Bad”但仅在相似条件下?
【问题讨论】:
标签: python python-2.7 pandas