是否从字典索引顺序创建DataFrame(&A)?
本教程将介绍是否从字典索引顺序创建DataFrame(&A)?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。
问题描述
我使用的是最近下载的蟒蛇和Python3.7.1&;Pandas 0.23.4
pandas doc表示:
如果数据是字典,并且未传递索引,则系列索引将按字典的插入顺序排序
我从未传递索引的字典实例化了一个 pandas DataFrame:
newspapers = {'Jim':{'Mon':15,'Tue':17,'Wed':21,'Thu':16,'Fri':19},
'Tony':{'Mon':8,'Tue':15,'Wed':11,'Thu':16,'Fri':13},
'Colin':{'Mon':13,'Tue':17,'Wed':19,'Thu':17,'Fri':20}
}
newspapers_df = pd.DataFrame(newspapers)
为什么不按插入顺序显示,星期一、星期二、星期三、清华、星期五?:
print(newspapers_df)
输出:
Jim Tony Colin
Fri19 13 20
Mon15 8 13
Thu16 16 17
Tue17 15 17
Wed21 11 19
推荐答案
可以使用numpy.argsort():
进行相同的排序
days_dict = {'Mon':0, 'Tue':1,'Wed':2,'Thu':3,'Fri':4,'Sat':5,'Sun':6}
df = pd.DataFrame(newspapers).reset_index()
df.iloc[np.argsort(df['index'].map(days_dict)),:]
好了关于是否从字典索引顺序创建DataFrame(&A)?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。