簡體   English   中英

如何從 pandas dataframe 中刪除並返回一行?

[英]How to remove and return a row from a pandas dataframe?

我有一個 dataframe 索引 n 記錄(0 - n)。 我想從 dataframe 中刪除“x”索引處的一行並將其存儲在其他地方。 我本質上是在嘗試從 Python 中的列表中執行 pop()。 是否有任何 function 或使用 pandas 數據幀的簡單方法?

我嘗試過使用 drop() 方法,但這只會返回相同的 dataframe 並刪除了行。

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

給定一個 dataframe 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

您可以簡單地定義自己的 function 執行就地放置但僅在存儲所需結果之后:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM