首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用熊猫在dataframe中追加空行

使用熊猫在dataframe中追加空行
EN

Stack Overflow用户
提问于 2016-10-12 12:09:34
回答 8查看 138.8K关注 0票数 53

我试图在dataframe的末尾添加一个空行,但无法这样做,甚至试图理解熊猫是如何使用附加函数工作的,但仍然没有得到它。

下面是代码:

代码语言:javascript
运行
复制
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“,我得到以下内容:

代码语言:javascript
运行
复制
                             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
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2019-01-23 14:53:16

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

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

代码语言:javascript
运行
复制
df.append(pandas.Series(name='NameOfNewRow'))

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

代码语言:javascript
运行
复制
df.append(pandas.Series(), ignore_index=True)

df是你的pandas.DataFrame。

票数 71
EN

Stack Overflow用户

发布于 2016-10-12 12:26:51

您可以通过将一个系列添加到dataframe中来添加它,如下所示。我想你的意思是你想要添加一行,只包含“南”。您可以首先创建一个具有Nan的Series对象。在-Index参数中定义“Series”对象时,请确保指定了列。您可以将其附加到DF中。希望能帮上忙!

代码语言:javascript
运行
复制
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
票数 19
EN

Stack Overflow用户

发布于 2019-01-14 15:15:51

假设df是你的数据

代码语言:javascript
运行
复制
df_prime = pd.concat([df, pd.DataFrame([[np.nan] * df.shape[1]], columns=df.columns)], ignore_index=True)

其中,df_prime等于df,并附加了NaN的最后一行。

请注意,pd.concat是慢的,所以如果您在循环中需要这个功能,最好避免使用它。在这种情况下,假设索引是增量的,则可以使用

代码语言:javascript
运行
复制
df.loc[df.iloc[-1].name + 1,:] = np.nan
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39998262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档