使用pandas在数据帧中追加空行

2024-04-26 04:30:43 发布

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

我试图在dataframe的末尾追加一个空行,但无法这样做,甚至试图理解pandas如何使用append函数,但仍然没有得到它

代码如下:

import pandas as pd

excel_names = ["ARMANI+EMPORIO+AR0143-book.xlsx"]
excels = [pd.ExcelFile(name) for name in excel_names]
frames = [x.parse(x.sheet_names[0], header=None,index_col=None).dropna(how='all') for x in excels]
for f in frames:
    f.append(0, float('NaN'))
    f.append(2, float('NaN'))

有两列和随机数行

在for循环中使用“print f”时,我得到以下结果:

                             0                 1
0                   Brand Name    Emporio Armani
2                 Model number            AR0143
4                  Part Number            AR0143
6                   Item Shape       Rectangular
8   Dial Window Material Type           Mineral
10               Display Type          Analogue
12                 Clasp Type            Buckle
14               Case Material   Stainless steel
16              Case Diameter    31 millimetres
18               Band Material           Leather
20                 Band Length  Women's Standard
22                 Band Colour             Black
24                 Dial Colour             Black
26            Special Features       second-hand
28                    Movement            Quartz

Tags: nameinnonepandasforbandframesnames
3条回答

使用pandas.DataFrame.append()添加新的pandas.Series

如果希望指定新行的名称(也称为“索引”),请使用:

df.append(pandas.Series(name='NameOfNewRow'))

如果不希望命名新行,请使用:

df.append(pandas.Series(), ignore_index=True)

其中df是pandas.DataFrame

您可以通过如下方式向数据帧追加一个系列来添加它。我假设为空白,您的意思是要添加仅包含“Nan”的行。 可以首先使用Nan创建序列对象。确保在-Index参数中定义“Series”对象时指定列。 您可以将其附加到DF。希望有帮助

from numpy import nan as Nan
import pandas as pd

>>> df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
...                     'B': ['B0', 'B1', 'B2', 'B3'],
...                     'C': ['C0', 'C1', 'C2', 'C3'],
...                     'D': ['D0', 'D1', 'D2', 'D3']},
...                     index=[0, 1, 2, 3])

>>> s2 = pd.Series([Nan,Nan,Nan,Nan], index=['A', 'B', 'C', 'D'])
>>> result = df1.append(s2)
>>> result
     A    B    C    D
0   A0   B0   C0   D0
1   A1   B1   C1   D1
2   A2   B2   C2   D2
3   A3   B3   C3   D3
4  NaN  NaN  NaN  NaN

您可以添加一个新系列,同时将其命名。该名称将是新行的索引,所有值将自动为NaN

df.append(pd.Series(name='Afterthought'))

相关问题 更多 >