为每个新索引选择数据帧

2024-05-28 20:32:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种简单的方法,从数据帧df中选择特定的值

我的df行如下所示:编辑以使其更清晰

('df_c',     index   edge_id   source   target       dist      length     offset        ep
0       0   3993733  2072680  3740467   7.400719   66.983482  50.293263  0.989106
1       0   9337850  3740467  2072680   7.400719   66.983482  16.690219  0.989106
2       0   3993735  3740467  3740468  18.257438   51.693102   0.000000  0.935507
3       0   3993736  3740467  3740470  18.257438   80.415746   0.000000  0.935507
4       0   9337852  3740468  3740467  18.257438   51.693102  51.693102  0.935507
5       0   9337853  3740470  3740467  18.257438   80.415746  80.415746  0.935507
6       0   4917163  5293212  5474940  50.474509  113.242490  47.964551  0.600775
7       0  10261280  5474940  5293212  50.474509  113.242490  65.277939  0.600775
8       1   3993733  2072680  3740467   8.627149   66.983482  56.266520  0.985225
9       1   9337850  3740467  2072680   8.627149   66.983482  10.716962  0.985225
10      1   3993735  3740467  3740468  10.319909   51.693102   9.098376  0.978925
11      1   9337852  3740468  3740467  10.319909   51.693102  42.594727  0.978925
12      1   3993736  3740467  3740470  13.757942   80.415746   0.000000  0.962851
13      1   9337853  3740470  3740467  13.757942   80.415746  80.415746  0.962851
14      1   4565277  2072680  2072681  56.667011   53.626811   5.403604  0.526118
15      1   9909394  2072681  2072680  56.667011   53.626811  48.223207  0.526118)

我的目标是用新索引选择每一行[1](df[“index”])。这将是df.index 0,8,等等

是否有其他可能的方法来代替迭代整个df并检查第[1]行(df[“index”])上的索引更改

我知道有一种方法可以像这样选择第n行:df.iloc[0::n,:]但是第[1]行上的索引更改(df[“index”])的顺序并不总是相同的


Tags: 数据方法id编辑sourcetarget目标df
1条回答
网友
1楼 · 发布于 2024-05-28 20:32:39

您应该能够使用shift之类的工具提取一组行。差不多

df[(df.column1 - df.column1.shift(1)) >= 1]

似乎有效。请注意,移位通常与您想要进行的比较方向相反,因为您不是逐个进行比较,而是创建向量的移位版本,然后立即比较整个向量。要对齐当前值和以前的值以进行比较,必须向前移动向量以在同一样本上获得两个值

相关问题 更多 >

    热门问题