Pandas を使用した CSV インポート中に行をスキップする
Pandas を使用して CSV データをインポートする場合、多くの場合、必要のない行をスキップする必要があります。分析に含めます。ただし、skiprows 引数に関する曖昧さは混乱を招く可能性があります。
skiprows の構文は次のとおりです:
skiprows : list-like or integer Row numbers to skip (0-indexed) or number of rows to skip (int) at the start of the file.
疑問が生じます: Pandas は最初の行をスキップするか、最初の行をスキップするかをどのように判断するのでしょうか。 Skiprows=1 が指定されている場合、インデックス 1 の行は何ですか?
これを解明するために、3 つの行を持つサンプル CSV ファイルを使用して実験を実行してみましょう:
1, 2 3, 4 5, 6
行のスキップwith Index 1
インデックス 1 の行をスキップする場合は、skiprows をリストとして渡します:
<code class="python">import pandas as pd from io import StringIO s = """1, 2 ... 3, 4 ... 5, 6""" df = pd.read_csv(StringIO(s), skiprows=[1], header=None) # Skip row with index 1 print(df)</code>
出力:
0 1 0 1 2 1 5 6
行数をスキップする
特定の行数 (この場合は 1) をスキップするには、skiprows を整数として渡します:
<code class="python">df = pd.read_csv(StringIO(s), skiprows=1, header=None) # Skip the first row print(df)</code>
出力:
0 1 0 3 4 1 5 6
したがって、skiprows 引数は、リストを指定するか整数を指定するかによって動作が異なることは明らかです。インデックスによって行をスキップする場合は、リストを使用します。それ以外の場合は、整数を使用して、ファイルの先頭から指定された行数をスキップします。
以上がPandas の `skiprows` は、最初の行をスキップしたいのか、それともインデックス 1 の行をスキップしたいのかをどのように判断するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。