我试图在dataframe的末尾添加一个空行,但无法这样做,甚至试图理解熊猫是如何使用附加函数工作的,但仍然没有得到它。
下面是代码:
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
发布于 2019-01-23 14:53:16
使用pandas.Series ()添加一个新的pandas.DataFrame.append。
如果希望指定新行的名称(AKA是“索引”),请使用:
df.append(pandas.Series(name='NameOfNewRow'))
如果不希望命名新行,请使用:
df.append(pandas.Series(), ignore_index=True)
df
是你的pandas.DataFrame。
发布于 2016-10-12 12:26:51
您可以通过将一个系列添加到dataframe中来添加它,如下所示。我想你的意思是你想要添加一行,只包含“南”。您可以首先创建一个具有Nan的Series对象。在-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
发布于 2019-01-14 15:15:51
假设df
是你的数据
df_prime = pd.concat([df, pd.DataFrame([[np.nan] * df.shape[1]], columns=df.columns)], ignore_index=True)
其中,df_prime
等于df
,并附加了NaN的最后一行。
请注意,pd.concat
是慢的,所以如果您在循环中需要这个功能,最好避免使用它。在这种情况下,假设索引是增量的,则可以使用
df.loc[df.iloc[-1].name + 1,:] = np.nan
https://stackoverflow.com/questions/39998262
复制相似问题