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