前提・実現したいこと
複数列から構成されているcsvファイルをread_csv
で読み込む際、usecols
で任意の列を指定してDataFrameを生成しようとしています。以下にサンプルとなるcsv
を示します。
sample.csv
csv
1A, B, C, D, E, F, G, H, I 21, 2, 3, 4, 5, 6, 7, 8, 9 39, 8, 7, 6, 5, 4, 3, 2, 1
例えばB, C, D, G, H列を抜き出したいとき、usecols
にはリストを渡すべきなので、
Python
1df = read_csv("sample.csv", usecols=[1, 2, 3, 6, 7])
と記述するべきと思いますが、usecols
に渡す値をもう少しスマートに記述することは可能でしょうか?
sample.csv
のような少ない列数のcsvファイルだと上記表現でも良いと思うのですが、列数が増えるとusecols
に渡すリストに番号を記述する手間が多くなるのでなにか他の方法があればご紹介頂きたいです。以下、自分なりに試したことを示します。
試したこと
usecols
に渡すリストを予め用意する。
Python
1usecols=[i+1 for i in range(3)] 2usecols.extend(i+6 for i in range(2)) 3df = read_csv("sample.csv", usecols=usecols)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/06 23:40