python - 将数据框附加到现有的空数据框时跳过两列之间的某些列

标签 python python-3.x pandas reindex

目前我正在从 pdf 中提取数据并将其放入 csv 文件中。我将解释这是如何工作的。

首先我创建一个空数据框:

ndataFrame = pandas.DataFrame()

然后我读取了数据。为简单起见,假设每个 pdf 的数据相同:

data = {'shoe': ['a', 'b'], 'fury': ['c','d','e','f'], 'chaos': ['g','h']}
dataFrame = pandas.DataFrame({k:pandas.Series(v) for k, v in data.items()})

然后我将此数据附加到空数据框:

ndataFrame = ndataFrame.append(dataFrame)

这是输出:

  shoe fury chaos
0    a    c     g
1    b    d     h
2  NaN    e   NaN
3  NaN    f   NaN

但是,现在问题来了。我需要一些列(比如说 4)在列 fury 和 chaos 之间是空的。这是我想要的输出:

  shoe fury                        chaos
0    a    c                         g
1    b    d                         h
2  NaN    e                         NaN
3  NaN    f                         NaN

我尝试了一些重新索引的东西,但我无法弄清楚。欢迎任何帮助。

顺便说一句,我想要的输出可能令人困惑。明确地说,我需要一些列在愤怒和困惑之间完全为空(这是因为一些其他数据手动进入)。

感谢阅读

最佳答案

此答案假定您无法更改上游读取数据的方式。与往常一样,最好在源头处理这些类型的格式更改。如果这不可能,这里有一种在解析后执行此操作的方法。


您可以在此处使用 reindex,使用 numpy.insert 添加您的四列:

dataFrame.reindex(columns=np.insert(dataFrame.columns, 2, [1,2,3,4]))

  shoe fury   1   2   3   4 chaos
0    a    c NaN NaN NaN NaN     g
1    b    d NaN NaN NaN NaN     h
2  NaN    e NaN NaN NaN NaN   NaN
3  NaN    f NaN NaN NaN NaN   NaN

关于python - 将数据框附加到现有的空数据框时跳过两列之间的某些列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52655656/

相关文章:

python - 除以零错误输入到Tkinter消息中供计算器使用

python - SIFT输入到ANN

python - 如何有效地将 pos_tag_sents() 应用于 pandas 数据框

python - 控制数字是否在 python 中向上或向下舍入

python - 如何在分组条形图中为条形着色

python - 将字符串转换为 f 字符串

python - python 中缺失值的统计

python - 将 pandas 时间戳与日期时间进行比较

Python-根据列值获取百分比

python - 如何按值对字典进行排序?