我有以下数据框。我将使用值1替换ADR中的所有值.Th
Index ADR
1 Fair
2 good
3 best
4 tr
5 heavy
这是我的代码:
df1['ADR'] = df1.replace(r'\w+', 1, regex=True)
df1['ADR'] = df1.replace(r'\w+',r'\ 1', regex=True)
但是他们都创建了以下数据集:
Index ADR
1 1
2 2
3 3
4 4
5 5
我需要ADR中的所有值都为“1”。这是期望的输出。
Index ADR
1 1
2 1
3 1
4 1
5 1
有什么建议吗?
答案 0 :(得分:1)
您需要指定要替换ADR
的列:
df1['ADR'] = df1['ADR'].replace(r'\w+', 1, regex=True)
print (df1)
Index ADR
0 1 1
1 2 1
2 3 1
3 4 1
4 5 1
另一个解决方案是用dict
指定列替换:
df1 = df1.replace({'ADR':{ r'\w+': 1}}, regex=True)
print (df1)
Index ADR
0 1 1
1 2 1
2 3 1
3 4 1
4 5 1
但更好的是指定标量,如果需要与指向John Galt相同的所有值:
df1['ADR'] = 1
print (df1)
Index ADR
0 1 1
1 2 1
2 3 1
3 4 1
4 5 1