[英]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.