python - 熊猫数据框索引未正确排序
问题描述
我想问一个关于 python 中熊猫的问题——特别是关于它的DataFrame()
功能。
我有以下要转换为数据框的数据:
pop = {'Nevada': {2001: 2.4, 2002: 2.9}, 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
frame3 = pd.DataFrame(pop)
我希望嵌套字典的外键是列名,内键是索引名:
请注意,解释器语法是在 Jupyter Notebook Python 3 上运行的 iPython
Nevada Ohio
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
但是,我不断地获取按错误顺序排列的键的数据:
>> frame3
Nevada Ohio
2001 2.4 1.7
2002 2.9 3.6
2000 NaN 1.5
而且我似乎无法让索引按我想要的顺序出现。
为什么会这样?我该如何纠正这个问题?
奇怪的是,这就是我的 Jupyter 笔记本中出现的内容:
但在使用learnpython.org
IDE 时,我得到以下预期输出:
同样,在我的 iPython 上观察到相同的错误输出:
解决方案
一种简单的解决方案可以是:
pop = {'Nevada': {2000:np.nan,2001: 2.4, 2002: 2.9}, 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
frame3 = pd.DataFrame(pop)
或者在创建数据框后对索引进行排序:
frame3 = pd.DataFrame(pop).sort_index()
结果就是你想要的:
Nevada Ohio
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
推荐阅读
- python - 如何将图像加载到 RAM 以供以后在 .kv 文件中使用(Kivy+Python)
- marklogic - 从 JSON 中删除空属性
- html - 在 iphone 中使用谷歌字体的问题
- android - 错误:项目 ':app' 上的 Project#afterEvaluate(Closure) 无法在当前上下文中执行
- javascript - 如何根据数据库中数据的时间戳创建多个计时器或根据时间戳或时间延迟数据库的弹出
- apache-kafka - 为什么窗口化现在适用于 Kafka Streams?
- google-bigquery - 如何通过 Firebase 中的某些用户事件过滤 BigQuery 中的保留计算
- php - 相似时如何返回数组
- powerbi - 如何在 Power BI dax 中编写 excel 公式
- ssrs-2008 - 在 SSRS 中连接负数和字符串