LINE オプチャに投稿された質問に回答したので、その内容を紹介します。
read_csv で csv ファイルを読み込む際、列名の行を無視したいのですが、うまくいきません。
引数に header を指定し、header=None にしても列名の行が index0 の0行目として残ってしまいます。
Pandas の read_csv()
メソッドに関する質問です。
列名(ヘッダー)がある CSV ファイルを読み込む際に列名を無視したい、ということです。
具体的には、次のような CSV ファイルを読み込んだ時に「a,b,c,d,e」を無視して、「1 〜 25」の数値のみを読み込みたい、ということです。
a,b,c,d,e
1,2,3,4,5
6,7,8,9,10
11,12,13,14,15
16,17,18,19,20
21,22,23,24,25
read_csv() デフォルト設定
まずはread_csv()
メソッドのデフォルト設定で読み込んでみます。
import pandas as pd
df = pd.read_csv('/content/test.csv')
print(df)
read_csv()
のデフォルト設定だと1行目がヘッダーとして読み込まれます。
header=Noneを指定
次に、質問にあるようにheader=None
を指定してみます。
import pandas as pd
df = pd.read_csv('test.csv', header=None)
print(df)
header=None
を指定すると、「CSV ファイル側にヘッダーは無いよ」という指定になるので、「a,b,c,d,e」も値として読み込まれます。
skiprows=1を指定
では、どうしたら良いのか。
答えは、skiprows=1
を指定してあげます。これは1行目は読み込まない、1行目をスキップして読み込む、という指定になります。
import pandas as pd
df = pd.read_csv('test.csv', header=None, skiprows=1)
print(df)
これで CSV ファイル側のヘッダーを無視して読み込むことができます。
Google Colaboratory
本記事に掲載しているコードは Google Colaboratory で動作を確認しています。
下記リンクからアクセスして、ご自身の Google ドライブにコピーしていただければ、すぐに実行できます。
環境構築の不要な Google が提供している Web サービスなので、Python を学習中の方にはオススメです。
おわりに
今回は、
ヘッダーありのCSVをヘッダー無しで読み込む方法
をご紹介しました。
以上です。
コメント