pandas
を使用してcsvをロードするときに、ラベルnameでcolumnを削除する必要があります。私は次のようにcsvを読んでいて、その中にパラメータを追加したいのです。ありがとう。
pd.read_csv("sample.csv")
私はcsvを読んだ後にこれを行うことを知っています:
df.drop('name', axis=1)
列名が事前にわかっている場合は、usecols
パラメーターを設定することでそれを行うことができます
使用する列がわかっている場合
列['id','name','last_name']
を含むcsvファイルがあり、['name','last_name']
だけが必要であるとします。以下のようにできます:
import pandas as pd
df = pd.read_csv("sample.csv", usecols = ['name','last_name'])
最初のN列が必要な場合
列名はわからないが、データフレームの最初のN列が必要な場合。あなたはそれをすることができます
import pandas as pd
df = pd.read_csv("sample.csv", usecols = [i for i in range(n)])
編集
ドロップする列の名前がわかっている場合
# Read column names from file
cols = list(pd.read_csv("sample_data.csv", nrows =1))
print(cols)
# Use list comprehension to remove the unwanted column in **usecol**
df= pd.read_csv("sample_data.csv", usecols =[i for i in cols if i != 'name'])
pd.read_csv
でnrows=1
を使用してCSVから列ヘッダーを取得し、usecols
で後続の読み取りを実行して、除外する列以外をすべて取得します。
headers = [*pd.read_csv('sample.csv', nrows=1)]
df = pd.read_csv('sample.csv', usecols=[c for c in headers if c != 'name']))
または、CSVモジュールを使用して同じこと(ヘッダーのみを読み取る)非常に効率的を実行できます。
import csv
with open("sample.csv", 'r') as f:
header = next(csv.reader(f))
# For python 2, use
# header = csv.reader(f).next()
df = pd.read_csv('sample.csv', usecols=list(set(header) - {'name'}))