スポンサーリンク

axis=1を指定して、DataFrame.drop()で列を削除する

まずは、csvファイルを読み込んで、DataFrameを作成します。

import pandas as pd

data = pd.read_csv('in.txt', names=('id', 'region', 'weather', 'value'))

例えば、'value'の列を削除する場合は下記のように書けます。
dataDelete = data.drop('value', axis=1)

リストで複数の列を指定して削除もできます。
dataDelete = data.drop(['id', 'weather', 'value'], axis=1)

上記の場合は、一旦dataDelete変数に格納していましたが、
inplace=Trueを指定することで、上書きできます。
data.drop('value', axis=1, inplace=True)

スポンサーリンク

delでも列を削除できます

例えば、'weather'の列を削除する場合は、下記のように書けます。

del data['weather']

サンプルコード

例えば、下記のin.txtがあったとします。

 $ cat in.txt 
1,E,雨,70
2,F,くもり,5
3,G,晴れ,0

下記がサンプルコードになります。
  $ cat sample.py 
#!/usr/bin/env python3
# coding: UTF-8

import pandas as pd

data = pd.read_csv('in.txt', names=('id', 'region', 'weather', 'value'))
print(data)

dataDelete = data.drop('value', axis=1)
print(dataDelete)

dataDelete = data.drop(['id', 'weather', 'value'], axis=1)
print(dataDelete)

data.drop('value', axis=1, inplace=True)
print(data)

del data['weather']
print(data)

下記が実行結果になります。
 $ ./sample.py 
   id region weather  value
0   1      E       雨     70
1   2      F     くもり      5
2   3      G      晴れ      0
   id region weather
0   1      E       雨
1   2      F     くもり
2   3      G      晴れ
  region
0      E
1      F
2      G
   id region weather
0   1      E       雨
1   2      F     くもり
2   3      G      晴れ
   id region
0   1      E
1   2      F
2   3      G

スポンサーリンク