我有一个名为df1的数据框。在df1中,我有一列称为“类”。看起来像这样:
class
Car
Person
Car
Person
Rider
Rider
Person
Rider
Rider
Rider
Rider
Rider
Rider
Person
Person
Person
Rider
相反,我想将类中的字符串更改为整数。我尝试使用以下代码替换值,但未更改输出。
df1['class'].replace(['Person', 'Car', 'Rider'], [1,3,5])
目前,输出仍然是这样:
frameID trekkingID x1 y1 x2 y2 class
913 2 893 544 21 14 Car
913 107 849 545 10 22 Person
837 2 912 545 15 10 Car
837 124 861 547 9 23 Person
700 81 0 844 273 236 Rider
相反,我希望它显示如下内容:
frameID trekkingID x1 y1 x2 y2 class
913 2 893 544 21 14 3
913 107 849 545 10 22 1
837 2 912 545 15 10 3
837 124 861 547 9 23 1
700 81 0 844 273 236 5
答案 0 :(得分:2)
可能更具扩展性(一旦您获得许多类别,并且不必担心两个列表之间的顺序)是
df1['class']=df1['class'].replace({'Person': 1, 'Car': 3, 'Rider': 5})
答案 1 :(得分:1)
df1['class']=df1['class'].replace(['Person', 'Car', 'Rider'], [1,3,5])
有效!