Pandas の不規則な空白に対する CSV 区切り文字の柔軟性を高める
pandas.read_csv() を使用して不規則な列区切り文字を持つファイルからデータフレームを作成する場合、課題に遭遇するのはよくあることです。タブで区切られている列もあれば、さまざまな数のスペース、またはスペースとタブの組み合わせで区切られている列もあります。この不規則性は解析の問題を引き起こす可能性があります。
この問題に対処するために、pandas は正規表現 (regex) を使用するか delim_whitespace を設定するという 2 つのオプションを提供します。
正規表現を使用する
正規表現オプションを使用すると、区切り文字のパターンを指定できます。例:
<code class="python">import pandas as pd df = pd.read_csv("file.csv", header=None, delimiter=r"\s+")</code>
ここで、r"s " は 1 つ以上の空白文字 (スペースとタブを含む) に一致します。
delim_whitespace の使用
delim_whitespace=True オプションは、空白 (スペースとタブ) を区切り文字として自動的に検出します:
<code class="python">df = pd.read_csv("file.csv", header=None, delim_whitespace=True)</code>
Python の Split() メソッドとの比較
Python でそれについて言及しました、 line.split() を使用して変数の空白を問題なく処理できます。 pandas.read_csv() は、delim_whitespace および regex オプションを通じて同様の柔軟性を提供します。
例
次の入力ファイル (whitespace.csv) の使用:
a b c 1 2 d e f 3 4
次のコードは、区切り文字の種類に関係なく、列が正しく区切られたデータフレームを作成します。
<code class="python">df = pd.read_csv("whitespace.csv", header=None, delim_whitespace=True) print(df) 0 1 2 3 4 0 a b c 1 2 1 d e f 3 4</code>
以上がPandas は CSV 分割で不規則な空白をどのように処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。