簡體   English   中英

Pandas將行從1 DF移動到另一個DF

[英]Pandas move rows from 1 DF to another DF

我從Excel中讀取df1 ,然后創建一個具有相同列的空df2 現在我想從df1移動一些匹配某些條件的行到df2 是否有任何簡單的方法來執行此操作,如list pop() ,這意味着該項可以彈出到新列表並從舊列表中刪除。

我正在做的是將這些行追加到df2 ,然后df1=df1[~condition]將它們從df1刪除,但我總是遇到惱人的警告:

"UserWarning: Boolean Series key will be reindexed to match DataFrame index.
"DataFrame index.", UserWarning)"

我認為上面的警告是由於"df1=df1[~condition]" ,在評論之后警告消失了。

如果您不關心索引(看起來不關心),那么您可以執行以下操作:

np.random.seed(0)
df1 = pd.DataFrame(np.random.randn(5, 3), columns=list('ABC'))
df2 = pd.DataFrame(columns=df1.columns)

>>> df1
          A         B         C
0  1.764052  0.400157  0.978738
1  2.240893  1.867558 -0.977278
2  0.950088 -0.151357 -0.103219
3  0.410599  0.144044  1.454274
4  0.761038  0.121675  0.443863

cond = df1.A < 1
rows = df1.loc[cond, :]
df2 = df2.append(rows, ignore_index=True)
df1.drop(rows.index, inplace=True)

>>> df1
          A         B         C
0  1.764052  0.400157  0.978738
1  2.240893  1.867558 -0.977278

>>> df2
          A         B         C
0  0.950088 -0.151357 -0.103219
1  0.410599  0.144044  1.454274
2  0.761038  0.121675  0.443863

暫無
暫無

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

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