将dataframe附加到现有空datafram时,跳过两列之间的某些列

2024-04-28 12:54:22 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我正在从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列)在愤怒和混乱的列之间是空的。这是我想要的输出:

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

我尝试了一些重新编制索引的方法,但是我想不通。欢迎任何帮助。你知道吗

顺便说一下,我想要的输出可能会让人困惑。为了清楚起见,我需要一些列在fury和chaos之间完全为空(这是因为其他一些数据是手动输入的)。你知道吗

谢谢你的阅读


Tags: 文件csv数据dataframepandasfordatapdf
1条回答
网友
1楼 · 发布于 2024-04-28 12:54:22

这个答案假设您没有办法改变在上游读取数据的方式。一如既往,最好在源代码处处理这些类型的格式更改。如果这是不可能的,这里有一种方法可以在解析之后完成。你知道吗


您可以在这里使用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

相关问题 更多 >