繁体   English   中英

根据另一个数据框列的值创建新数据框

[英]Creating a new dataframe based on values of another dataframe's column

我有一个如下所示的数据框:

在此处输入图片说明

Index   Fruit   ID
0   Apple   0.5
0   Apple   1
1   Orange  1.6
1   Orange  2
2   Banana  2.3
2   Banana  3

我想基于以下算法创建一个新的数据帧:取满足索引 + 0.5 <= ID 的第一行,将该行添加到新数据帧,否则下一行。 所以结果应该是这样的:

在此处输入图片说明

我相信我可以在一个乏味且效率低下的循环中做到这一点,但是知道 Pandas 非常强大(而且我对 Pandas 很陌生),有没有更有效的方法来创建数据框?

IIUC,使用groupby + apply + head

(df.groupby('Index', group_keys=False)
   .apply(lambda x: x[x['Index'] + 0.5 <= x['ID']].head(1)))

   Index   Fruit   ID
0      0   Apple  0.5
2      1  Orange  1.6
5      2  Banana  3.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM