如何从熊猫数据框中删除并返回一行?

时间:2019-10-24 19:50:44

标签: python pandas dataframe numpy-ndarray

我有一个数据帧,其中n个记录的索引为(0-n)。 我想从数据框中删除“ x”索引处的一行,并将其存储在其他位置。我实质上是在尝试等效于从Python列表中执行pop()。是否有任何功能或简单的方法使用pandas数据框来做到这一点?

我尝试使用drop()方法,但这只会返回删除了行的相同数据框。

dataframe df
row_needed = df.drop([2], axis=0)
)

给出一个数据框df:

  A B C D
0 x y z y
1 x y y y
2 y e r z

当我删除索引1处的行时,我想返回以下内容并更新df:


  A B C D
0 x y z y
2 y e r z

行返回:

1 x y y y

1 个答案:

答案 0 :(得分:2)

您只需定义自己的函数即可执行拖放操作,但仅在存储所需结果之后:

def drop_return(df, index):
    row = df.loc[index]
    df.drop(index, inplace=True)
    return row

以您给出的示例为例:

In [16]: df
Out[16]:
   A  B  C  D
0  x  y  z  y
1  x  y  y  y
2  y  e  r  z

In [17]: drop_return(df, 1)
Out[17]:
A    x
B    y
C    y
D    y
Name: 1, dtype: object

In [18]: df
Out[18]:
   A  B  C  D
0  x  y  z  y
2  y  e  r  z