python-将数字替换为字符串

python-将数字替换为字符串,python,pandas,Python,Pandas,我有一个数据帧作为 data = pd.DataFrame({ 'A': [1,1,1,-1,1,1], 'B':['abc','def','ghi','jkl','mno','pqr'] }) data['A'].replace(1,2) 回报 0 2 1 2 2 2 3 -1 4 2 5 2 但是为什么数据['A'].replace(1,“pos”)不起作用?您需要将列“A”转换为类型字符串 data['A']

我有一个数据帧作为

data = pd.DataFrame({
       'A': [1,1,1,-1,1,1],
       'B':['abc','def','ghi','jkl','mno','pqr']
       })

data['A'].replace(1,2)
回报

0    2
1    2
2    2
3   -1
4    2
5    2

但是为什么
数据['A'].replace(1,“pos”)
不起作用?

您需要将列“A”转换为类型字符串

data['A'] = data['A'].astype(str) 
然后试试看

data['A'].replace(str(1),'s')

您还可以尝试使用“映射”功能

map_dict = {1: "pos"}
data["test"] = data["A"].map(map_dict)
data
-----------------------
|   | A  | B   | test |
-----------------------
| 0 | 1  | abc | pos  |
| 1 | 1  | def | pos  |
| 2 | 1  | ghi | pos  |
| 3 | -1 | jkl | NaN  |
| 4 | 1  | mno | pos  |
| 5 | 1  | pqr | pos  |
-----------------------
阅读更多: