python - 如果仅指定行索引,则使用嵌套 dict 初始化的 Pandas DataFrame 失败
问题描述
我尝试指定使用 nexted dict 初始化的 DataFrame 的行索引。
pop={'Nevada': {2001: 2.4, 2002: 2.9}, 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
pandas.DataFrame(pop, index=[2000,2001,2002])
AttributeError: 'list' object has no attribute 'astype'
但是,如果我还指定列,它将起作用。
我想知道这是否只是熊猫中的一个错误。因为我确信它肯定适用于 Python 3.5 和我的旧版本 pandas(不确定早期版本)。我正在运行 Python 3.6.5、Pandas 0.23.3。
这个例子实际上来自 Wes McKinney 的书《Python for data analysis》(第 2 版)。
解决方案
我用 pandas 0.23.4 在 Python 3.7.1 中重现了这个问题。
该代码部分的目的是为了阐明索引的顺序可以人为地分配。
pd.DataFrame(pop, index = pd.Series([2001, 2000, 2002]))
应该管用。
推荐阅读
- ffmpeg - 如何在ffmpeg中汇总两个流中的音频
- python - 如何计算火花 RDD 中出现的次数并将其作为字典返回?
- python - 在 Unix 上如何可靠地设置宽度 `wget` 用于输出其进度条?
- google-apps-script - 如何在我的电子表格中生成指向每个工作表的 URL 链接
- python - Dask 基于上一列添加新列
- python - 如何修复 pip 安装程序代理错误 11001
- r - 如何使用选择器输入进行分支处理
- asp.net-core - 自定义状态码返回cors错误怎么办?
- r - 在R中删除带有条件的字符串的第一个字符
- python - 获取多处理的终止 map_async 的结果