1. ホーム
  2. python

[解決済み] Python Pandas Drop データフレーム

2022-02-27 04:39:57

質問

DataFrameから列を削除するにはどうすればよいですか?CSVファイルを持っていて、pandasのデータフレームを構築して、いろいろなことをしようとしているので、このデータが再現できないことは分かっています。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.read_csv('C:\LoadProfiles\CSV\WillBaySchl 2013_2014 KW.csv')

print(df)

これは、head/tailと返します。 [34944 rows x 3 columns]

pos0 = 0
pos1 = 1
pos2 = 2

colname = df.columns[pos0]
print(colname)

これが返ってきます。 Meter ID (この列/データフレームを削除したい)。

colname = df.columns[pos1]
print(colname)

これが返ってきます。 Date / Time (pdデータフレームのインデックスにしたいです。)

colname = df.columns[pos2]
print(colname)

これが返ってきます。 KW(ch: 1 set:0) (これは、"kW"にリネームして、いろいろといじりたいデータなのですが...)

以下のコードを試してみると。

df = pd.DataFrame.drop(['Meter ID'], axis=1)

print(df)

Pythonはエラーを返します。 TypeError: drop() missing 1 required positional argument: 'labels'

以下のコードを試すと

df = pd.DataFrame.drop(columns=['Meter ID'])
print(df)

Pythonはエラーを返します。 TypeError: drop() got an unexpected keyword argument 'columns'

何かお手伝いできることがあれば、ぜひお願いします。

解決方法は?

もし私が正しく理解していれば、カラム(シングル)を削除するために使用する必要があります。

df = pd.DataFrame.drop('Meter ID', axis=1)

1列以上の場合。

df = pd.DataFrame.drop(['Meter ID', 'abc'], axis=1)

差分は[]括弧の中にあります。

df全体を削除するには、(すでに述べたように)どちらかを使用します。

del df

または

df = None