複数のスプレッドシートを扱う
人間が読むことを主目的にしたワークブックでは、1つのテーマに関するデータが複数のシートに分かれていることがあります。たとえば、ある企業が事業を展開した各地域や各年ごとに、取引のシートが分かれているファイルなどです。
FreeCodeCamp の New Developer Survey のファイルも同様で、異なる年の回答サンプルが別々のシートに入っています。ここでは、それらを1つのデータフレームにまとめて分析できるようにしましょう。
pandas は pd としてインポート済みです。すべてのシートは順序付き辞書 responses に読み込まれており、シート名がキー、データフレームが値になっています。そのため、values() メソッドでデータフレームにアクセスできます。
この演習はコースの一部です
pandasで効率よくデータを取り込む
演習の手順
- 空のデータフレーム
all_responsesを作成します。 responses辞書の値を反復処理するforループを用意します。- 各データフレームを
all_responsesに連結し、結果を同じ変数名に再代入します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create an empty dataframe
all_responses = ____
# Set up for loop to iterate through values in responses
for df in ____:
# Print the number of rows being added
print("Adding {} rows".format(df.shape[0]))
# Concatenate all_responses and df, assign result
all_responses = pd.concat(____)
# Graph employment statuses in sample
counts = all_responses.groupby("EmploymentStatus").EmploymentStatus.count()
counts.plot.barh()
plt.show()