我有一个数据帧,其中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
答案 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