前の行の値でデータフレームを並べ替えることはできますか?

user5317046

前の行の値でデータフレームを並べ替えたい。そのため、「開始点」と「終了点」の2つの列があります。
ここで、特定の「エンドポイント」を持つ各行の後に「スタートポイント」内の同じ値を持つ行が続くように、行を並べ替えたいと思います。

例えば:

+------------+-----------+
| Startpoint | Endpoint  |
+------------+-----------+
| Berlin     | Munich    |
| Munich     | Paris     |
| Paris      | Barcelona |
| Barcelona  | Rom       |
+------------+-----------+
ドミニク・コントワ

投稿ガイドラインに従わないopに答えるのは少し矛盾していますが、これは解決すべき興味深いパズルであることがわかりました。

同じ出発地(または目的地)で複数のフライト(フライトだと思います)がある、または「往復」するシリーズがあるなどの競合がない場合、無限のループに遭遇します、これが(やや驚くほど単純な)解決策です。

flights <- read.table(sep = ",", stringsAsFactors = FALSE, header = TRUE, text = "
dep,arr
Montreal,Washington
Berlin,Munich
Miami,Paris
Munich,New York
Barcelona,Rome
New York,Montreal
Washington,Miami
Paris,Barcelona
")       

cont <- TRUE

while (cont) {
  # move down a flight for which the dep is an arr further down
  for (i in 1:(nrow(flights)-1)) {
    ind <- which(flights$arr == flights$dep[i])
    if (length(ind) == 0)  next
    if (ind > i) {
      flights <- flights[c(seq_len(i-1),
                           (i+1):ind,
                           i,
                           seq(from = ind + 1,
                               length.out = nrow(flights) - ind)),]
      break
    }
    cont <- FALSE
  }
}

結果

> flights
         dep        arr
2     Berlin     Munich
4     Munich   New York
6   New York   Montreal
1   Montreal Washington
7 Washington      Miami
3      Miami      Paris
8      Paris  Barcelona
5  Barcelona       Rome

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

DをBとCの間に移動するように指定することで、ABCDEがABDCEに並べ替えられるように、データフレームの列を並べ替えることはできますか?

分類Dev

名前の並べ替えを維持しながら、データフレームを名前で並べ替え、次に日付で並べ替えます

分類Dev

データフレームを並べ替えた後、locとilocが異なるのはなぜですか?

分類Dev

Pandasデータフレームの行の値で日時列を並べ替えるにはどうすればよいですか?

分類Dev

別のデータフレームの行名の順序に基づいて1つのデータフレームの列名をマッピングすることにより、Rでデータフレームを並べ替える方法は?

分類Dev

データフレームを並べ替えるときに、NaN値がないのに、なぜ「TypeError:unorderable types:str()<float()」が表示されるのですか?

分類Dev

データフレーム内の列の名前がわからないとします。その列の値に従ってdfを並べ替えるにはどうすればよいですか?

分類Dev

パンダはデータフレームをグループ化し、列の値で並べ替えます

分類Dev

Pythonデータフレームの行と列を並べ替え/並べ替える方法は?

分類Dev

データフレーム内の行の値を列の値で並べ替える

分類Dev

カスタムADT(並べ替えリンクリスト)で2つのデータ型を使用することはできますか?

分類Dev

データフレームの列の値を日付(年-月)で並べ替える他の方法はありますか?

分類Dev

この状況で、どのようにmysqlステートメントの計算値でデータを並べ替えることができますか?

分類Dev

データフレームの特定の行を列で並べ替える

分類Dev

パンダのデータフレームシリーズを月と年で並べ替えますか?

分類Dev

パンダのデータフレームを数値文字列の列で並べ替える方法はありますか?

分類Dev

数値の列でデータフレームを並べ替える

分類Dev

列名の値で列を並べ替えることはできますか?

分類Dev

パンダはデータフレームの行を並べ替えます

分類Dev

行数が異なる大きなデータフレームの列を昇順で並べ替えます

分類Dev

正と負の値に基づいてデータフレーム列の値を並べ替えますか?

分類Dev

名前付きベクトルを行としてデータフレームに追加し、列名の順序に従って並べ替えるにはどうすればよいですか?

分類Dev

出力を並べ替えることなく、パンダのデータフレームから一意の値を出力します

分類Dev

JekyllコレクションとJekyllデータを1つの配列に並べ替えることはできますか?

分類Dev

文字と数字の列でデータフレームを並べ替える

分類Dev

パンダのデータフレームを列の値の数で並べ替える方法は?

分類Dev

Rの列名でデータフレームを並べ替える方法は?

分類Dev

パンダの列(ilocでスライス)をメインデータフレームとして並べ替える方法はありますか?

分類Dev

IDの数でデータフレーム列を並べ替えます

Related 関連記事

  1. 1

    DをBとCの間に移動するように指定することで、ABCDEがABDCEに並べ替えられるように、データフレームの列を並べ替えることはできますか?

  2. 2

    名前の並べ替えを維持しながら、データフレームを名前で並べ替え、次に日付で並べ替えます

  3. 3

    データフレームを並べ替えた後、locとilocが異なるのはなぜですか?

  4. 4

    Pandasデータフレームの行の値で日時列を並べ替えるにはどうすればよいですか?

  5. 5

    別のデータフレームの行名の順序に基づいて1つのデータフレームの列名をマッピングすることにより、Rでデータフレームを並べ替える方法は?

  6. 6

    データフレームを並べ替えるときに、NaN値がないのに、なぜ「TypeError:unorderable types:str()<float()」が表示されるのですか?

  7. 7

    データフレーム内の列の名前がわからないとします。その列の値に従ってdfを並べ替えるにはどうすればよいですか?

  8. 8

    パンダはデータフレームをグループ化し、列の値で並べ替えます

  9. 9

    Pythonデータフレームの行と列を並べ替え/並べ替える方法は?

  10. 10

    データフレーム内の行の値を列の値で並べ替える

  11. 11

    カスタムADT(並べ替えリンクリスト)で2つのデータ型を使用することはできますか?

  12. 12

    データフレームの列の値を日付(年-月)で並べ替える他の方法はありますか?

  13. 13

    この状況で、どのようにmysqlステートメントの計算値でデータを並べ替えることができますか?

  14. 14

    データフレームの特定の行を列で並べ替える

  15. 15

    パンダのデータフレームシリーズを月と年で並べ替えますか?

  16. 16

    パンダのデータフレームを数値文字列の列で並べ替える方法はありますか?

  17. 17

    数値の列でデータフレームを並べ替える

  18. 18

    列名の値で列を並べ替えることはできますか?

  19. 19

    パンダはデータフレームの行を並べ替えます

  20. 20

    行数が異なる大きなデータフレームの列を昇順で並べ替えます

  21. 21

    正と負の値に基づいてデータフレーム列の値を並べ替えますか?

  22. 22

    名前付きベクトルを行としてデータフレームに追加し、列名の順序に従って並べ替えるにはどうすればよいですか?

  23. 23

    出力を並べ替えることなく、パンダのデータフレームから一意の値を出力します

  24. 24

    JekyllコレクションとJekyllデータを1つの配列に並べ替えることはできますか?

  25. 25

    文字と数字の列でデータフレームを並べ替える

  26. 26

    パンダのデータフレームを列の値の数で並べ替える方法は?

  27. 27

    Rの列名でデータフレームを並べ替える方法は?

  28. 28

    パンダの列(ilocでスライス)をメインデータフレームとして並べ替える方法はありますか?

  29. 29

    IDの数でデータフレーム列を並べ替えます

ホットタグ

アーカイブ