LoginSignup
0
4

More than 3 years have passed since last update.

【Python】TIPS:pandas.read_csv時のUnnamed回避【pandas】

Posted at

概要

  • pandasのread_csv時に、カラムが空欄の時にUnnamedで読み込んでしまう現象の回避方法
  • pandasは0.24以上の機能を使用

問題

カラムに複数の空欄がある場合、Unnamedが勝手に入力されてしまう。
データフレームは、4行のカラムを含んでいる。

問題

concat_df = pd.read_csv(r'**.csv',
                        header=[0,1,2,3],
                        keep_default_na=False,
                        index_col=[0],
                        parse_dates=[0],
                        encoding='shift-jis',
                        engine='python'
                       )

qiita1.JPG

解決方法

read_csvの際にヘッダを読み込まず、あとでMultiIndexとしてカラム名を登録する

解決方法
raw_df = pd.read_csv(r'**.csv',
                     keep_default_na=False, # 空欄をNaで置き換えない
                     header=None, # headerは指定しない
                     index_col=[0],
                     encoding='shift-jis',
                     engine='python'
                     )

# MultiIndex.from_frameを使用する。
# raw_dfの4行目までをカラムとしてMultiIndexを作り、raw_dfのカラムとして入力する
raw_df.columns = pd.MultiIndex.from_frame(raw_df.iloc[:4, :].T)

# カラム名とデータフレームの4行目までは重複するので削除する。
raw_df = raw_df.iloc[4:, :]

qiita2.JPG

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4