Python 3.x 如何确定每个人在不同的城市生活过的地方?

Python 3.x 如何确定每个人在不同的城市生活过的地方?,python-3.x,database,pandas,dataframe,Python 3.x,Database,Pandas,Dataframe,下面是我目前正在处理的一小部分数据集 FirstName LastName cities occupation time --------------------------------------------------------------- --------------------------------------------------------------- Alice Oumi Queens software

下面是我目前正在处理的一小部分数据集

FirstName  LastName   cities       occupation         time
---------------------------------------------------------------
---------------------------------------------------------------
Alice      Oumi       Queens       software engineer  1/1/2019
Alice      Oumi       New York     software engineer  12/3/2018
Sam        Charles    Santa Clara  Engineer           2/5/2017
Sam        Charles    Santa Monica Engineer           8/9/2018
Sam        Charles    Santa Clara  Engineer           12/12/2019
Alice      Oumi       New York     software engineer  1/2/2017
正如你在上面看到的,同一个人可能住在同一个地方,但时间不同。我想清理这个数据集,这应该是爱丽丝和山姆住的地方。例如,我不需要两排爱丽丝住在纽约,我只需要一排。类似于下表的内容

FirstName  LastName   cities         FirstTime    SecondTime
---------------------------------------------------------------
---------------------------------------------------------------
Alice      Oumi       Queens         1/1/2019     NA
Alice      Oumi       New York       1/2/2017     12/3/2018
Sam        Charles    Santa Clara    2/5/2017     12/12/2019
Sam        Charles    Santa Monica   8/9/2018     NA 
我是python新手,正在努力学习。但我曾尝试使用ItErrors进行for循环,但没有成功。 可以使用什么来实现此表


提前非常感谢您

您可以按如下方式进行操作:

# number the times a person lived in the same city (with the same occupation)
df['sequence']= df.groupby(['FirstName', 'LastName', 'cities', 'occupation']).cumcount()+1
# now create the "pivot" table
result= df.set_index(['FirstName', 'LastName', 'cities', 'occupation', 'sequence']).unstack()
# rename the columns
result.columns= ['FirstTime', 'SecondTime']

# reset the index (it was just needed for "pivoting"
result.reset_index(inplace=True)
结果如下:

Out[483]: 
  FirstName LastName                 cities         occupation  FirstTime  SecondTime
0     Alice     Oumi               New York  software engineer  12/3/2018    1/2/2017
1     Alice     Oumi                 Queens  software engineer   1/1/2019         NaN
2       Sam  Charles            Santa Clara           Engineer   2/5/2017  12/12/2019
3       Sam  Charles  Santa Monica Engineer           8/9/2018       None         NaN