更改数据框中的值

时间:2018-08-28 03:01:20

标签: python python-2.7 pandas

我有一个名为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

2 个答案:

答案 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])有效!