Python 按数据分组到带有熊猫的dataframe列
我有以下数据帧。描述每个用户居住的城市Python 按数据分组到带有熊猫的dataframe列,python,dataframe,bigdata,Python,Dataframe,Bigdata,我有以下数据帧。描述每个用户居住的城市 City Name Date 0 Seattle Alice 2017 1 Seattle Bob 2011 2 Portland Mallory 2010 3 Seattle Mallory 2016 4 Memphis Bob 2012 5 Portland Mallory 2013 你能和熊猫一起实现以下目标吗 Name
City Name Date
0 Seattle Alice 2017
1 Seattle Bob 2011
2 Portland Mallory 2010
3 Seattle Mallory 2016
4 Memphis Bob 2012
5 Portland Mallory 2013
你能和熊猫一起实现以下目标吗
Name City1 Date1 City2 Date2 City3 Date3
0 Alice Seattle 2017 NaN NaN NaN NaN
1 Bob Seattle 2011 Memphis 2012 NaN NaN
2 Mallory Portland 2010 Seattle 2016 Portland 2013
多谢各位 您可以使用带有自定义功能的
groupby
,在其中创建新的DataFrame
,然后按对第二级多索引进行排序,最后使用join
将其删除:
df1 = df.groupby('Name')['City','Date']
.apply(lambda x: pd.DataFrame(x.values,
columns = ['City','Date'],
index = np.arange(1, len(x) + 1).astype(str)))
.unstack()
df1 = df1.sort_index(axis=1, level=1).replace({None:np.nan})
df1.columns = df1.columns.map(''.join)
print (df1)
City1 Date1 City2 Date2 City3 Date3
Name
Alice Seattle 2017 NaN NaN NaN NaN
Bob Seattle 2011 Memphis 2012.0 NaN NaN
Mallory Portland 2010 Seattle 2016.0 Portland 2013.0