我有一个包含数千行的Pandas数据帧,这些cols:
Name Job Department Salary Date
我想返回一个带有两个col的新df:
^{pr2}$我用来完成这个任务的代码:
jobs = df.groupby(['Job'])
dict = {}
for a,b in jobs:
dict.update({a: b['Salary'].mean()})
dfJobs = pd.DataFrame(dict.items(), columns=['Unique_Job', 'Avg Salary'])
不过,我知道肯定有更好的办法。思想?谢谢。在
由于您已经有了方法,我想您很难从该系列中生成新的数据帧,您将得到作为输出。可以使用
Series.to_frame()
和DataFrame.reset_index()
方法使dataframe具有两个列,然后只重命名这些列。像这样:是的,使用
groupby
对象的aggregate
方法。在甚至还有一种方法可以作为捷径:
^{pr2}$见http://pandas.pydata.org/pandas-docs/stable/groupby.html 更多的信息和大量的例子
相关问题 更多 >
编程相关推荐