我的问题很简单,但我在stackexchange或google上找不到答案。在pandapsforpython中,如何将包含两列的序列转换回数据帧?我的系列(agggenfreq)如下。 生成它的代码是:
agggenfreq=df2000[['freq','name','sex']].groupby(['name', 'sex']).sum()['freq']
其中,df2000是包含以下列的数据帧:
^{pr2}$聚合频率:
name sex
Aaden F 5
M 2980
Aaliah F 518
Aaliya F 583
Aaliyah F 40975
M 49
Aamir M 607
Aaniyah F 741
Aanya F 954
Aaralyn F 581
Aarav M 1374
Aaron F 365
M 94269
Aarush M 763
Aarya F 375
M 190
Aaryan M 560
Aaryn F 293
M 272
Aayush M 632
Abagail F 3051
Abbey F 5230
M 6
有没有一个好方法可以把它转换回一个数据帧?如果在这个系列中只有一个专栏(我认为这在技术上不是正确的术语,但是你应该知道我的意思)我会这样做:
数据=pd数据帧({'agg':aggfreq,'name':聚集频率索引})在
如何用两列来完成这个任务? 提前谢谢。 编辑:如果有人知道一种更好的方法来实现上述(第一)功能,而不必制作系列,我很想知道:)
@BrenBarn的答案是正确的。如果要避免首先创建多重索引,可以运行
agggenfreq = df2000.groupby(['name', 'sex'], as_index=False).freq.sum()
这样就得到了一个数据帧。在as_index=False
标志将分组变量扩展为列。我还简化了命令。在这是一个有多重索引的序列。您可以通过执行
agggenfreq.reset_index()
来获取数据帧。在相关问题 更多 >
编程相关推荐