python - Pandas 中按行填充间隙时出错

标签 python pandas dataframe

2015    2016    2017    2018    2019    2020    2021    2022    2023    2024    2025
0.4818                                  0.8109                                  0.9031

我有一个上述形式的数据框。第一行是标题,分别包含 2015 年、2020 年和 2025 年的数据。其他列有 nan 作为缺失数据。我想按行插值并使用它:

df.fillna(axis = 1, method = 'ffill', inplace = True)

但是,我收到错误消息:

  File "C:\Anaconda64\lib\site-packages\pandas\core\generic.py", line 2527, in fillna
    raise NotImplementedError()
NotImplementedError

--编辑 根据下面 ajcr 的评论,列的 dtypes 是 float64 数据框在此处以 csv 文件形式提供: https://umd.box.com/s/yacl9eewvo2n9xbj9nz6dkoju5nhwxsr

如何解决这个问题?

最佳答案

您收到的错误意味着您的 DataFrame 具有混合类型 - 也许您有整数列和 float 列。

无论如何,删除 inplace 参数应该允许 fillna 跨行工作:

df.fillna(axis=1, method='ffill')

关于python - Pandas 中按行填充间隙时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32681658/

相关文章:

python - Ubuntu 18.04 LTS 上的 EOFError 错误 Apache Thrift

python - 玛雅Python : Apply Transformation Matrix

pandas - 用 Folium 和 Geopandas 绘制多边形不起作用

r - 使用来自另一个数据框的引用清除重复项

python - Pybabel extract从html模板中提取关键字时添加额外的单引号

python - xpath 在此节点中不起作用

python - 将 pandas 数据框与点积向量相乘时如何纠正形状未对齐?

python - 将 Pandas 函数应用于多个列

Python Pandas 更改索引数据框

Python - 在数据框中运行 for 循环的更快方法