簡體   English   中英

在彼此之間一定間隔內查找所有條目

[英]Find all entries within a certain interval of each other in Pandas

我需要為熊貓DataFrame的每一列查找彼此之間在一定間隔(錯誤)內包含的所有條目(並按索引對它們進行分組)。 +/- 0.2間隔的示例:

myDataFrame:
    A    B    C
0  1.1  1.3  1.5
1  0.7  0.1  -0.5
2  1.2  1.9  1.3
3  0.1  0.0  -0.3
4  0.2  0.1  -0.1

結果將是:

列A: {0,2},{3,4}

B欄: {1,3,4}

C列: {0,2},{1,3},{3,4}

這可能嗎? 我知道我可以執行多個for循環來迭代每一行和每一列,我只是想知道是否有任何方法可以使用pandas來做到這一點,因為這樣做會更快。 謝謝

您可以使用pandas cut函數對變量進行裝箱。

import pandas as pd    
df.loc[:, 'C_bins'] = pd.cut(df.C, bins=[.2*x for x in range(-10, 10)])

產量

     A    B    C        C_bins
0  1.1  1.3  1.5    (1.4, 1.6]
1  0.7  0.1 -0.5  (-0.6, -0.4]
2  1.2  1.9  1.3    (1.2, 1.4]
3  0.1  0.0 -0.3  (-0.4, -0.2]
4  0.2  0.1 -0.1     (-0.2, 0]

從那里,您可以將它們與groupby分組或用value_counts計數

暫無
暫無

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

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