簡體   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