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?
これを解明するために、
1, 2 3, 4 5, 6
インデックス 1 の行をスキップ
インデックス 1 の行をスキップしたい場合は、skiprows をリストとして渡します:
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)
出力:
0 1 0 1 2 1 5 6
行数をスキップ
特定の行数 (この場合は 1) をスキップするには、skiprows を整数として渡します。
df = pd.read_csv(StringIO(s), skiprows=1, header=None) # Skip the first row
print(df)
出力:
0 1 0 3 4 1 5 6
したがって、skiprows 引数は、リストを指定するか整数を指定するかによって動作が異なることは明らかです。インデックスによって行をスキップする場合は、リストを使用します。それ以外の場合は、整数を使用して、ファイルの先頭から指定された行数をスキップします。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3