ilocとlocはどのように異なりますか?

誰かがこれらの2つのスライス方法の違いを説明できますか?
私はドキュメントと私はこれら回答ですが、それでも3つがどのように違うのか理解できません。スライスのレベルが低いため、私には大部分が互換性があるように見えます。

たとえば、 DataFrameの最初の5行を取得するとします。これら2つがどのように機能するのですか?

  df.loc [:5] df.iloc [:5]  

誰かが3つのケースを提示できますか?用途の違いはより明確ですか?


昔々、これら2つの関数が df.ix [:5]とどのように異なるのかを知りたいと思いましたが ix はpandas1.0から削除されたので、もう気にしません。