Pandas: セルが結合された excel ファイルを読み取る方法
結合されたセルを含む Excel ファイルを pandas DataFrame に読み取ると、結合されたセルには自動的に NaN 値が入力されます。
ファイルのインポート後にこれらの NaN 値を入力する最も簡単な方法は、次のように pandas fillna()関数を使用することです。
df = df. fillna (method=' ffill ', axis= 0 )
次の例は、この構文を実際に使用する方法を示しています。
例: Pandas でセルが結合された Excel ファイルを読み取る
さまざまなバスケットボール選手に関する情報を含む、 merged_data.xlsxという次の Excel ファイルがあるとします。
「チーム」列の値がマージされていることに注目してください。
選手 A ~ D はマーベリックスに所属し、選手 E ~ H はロケッツに所属します。
read_excel()関数を使用して、この Excel ファイルを pandas DataFrame に読み取るとします。
import pandas as pd #import Excel fie df = pd. read_excel (' merged_data.xlsx ' ) #view DataFrame print (df) Team Player Points Assists 0 Mavericks A 22 4 1 NaN B 29 4 2 NaN C 45 3 3 NaN D 30 7 4 Rockets E 29 8 5 NaN F 16 6 6 NaN G 25 9 7 NaN H 20 12
デフォルトでは、pandas は結合されたセルに NaN 値を入力します。
これらの各 NaN 値にチーム名を入力するには、次のようにfillna()関数を使用します。
#fill in NaN values with team names df = df. fillna (method=' ffill ', axis= 0 ) #view updated DataFrame print (df) Team Player Points Assists 0 Mavericks A 22 4 1 Mavericks B 29 4 2 Mavericks C 45 3 3 Mavericks D 30 7 4 Rockets E 29 8 5 Rockets F 16 6 6 Rockets G 25 9 7 Rockets M 20 12
各 NaN 値には適切なチーム名が入力されていることに注意してください。
axis=0引数は、パンダに NaN 値を垂直に埋めるように指示することに注意してください。
NaN 値を列に水平に埋めるには、 axis=1を指定できます。
注: pandas fillna()関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
パンダ: Excel ファイルを読み取るときに行をスキップする方法
Pandas: Excel ファイルをインポートするときにタイプを指定する方法
パンダ: 複数の Excel シートを結合する方法