gpt4 book ai didi

python - Pandas 将行从 1 个 DF 移动到另一个 DF

转载 作者:行者123 更新时间:2023-11-28 20:04:35 27 4
gpt4 key购买 nike

我从 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

关于python - Pandas 将行从 1 个 DF 移动到另一个 DF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36142959/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com