【发布时间】:2018-05-22 03:14:38
【问题描述】:
如何从 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)
这将返回头/尾和:[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'
非常感谢任何帮助...
【问题讨论】:
-
您可能有一个 0.21 之前的 pandas,其中引入了 kw 列。检查您的版本并改用
labels,再加上axis=1。 -
pd.DataFrame.drop(['Meter ID'], axis=1)您正在调用 DataFrame 构造函数上的方法,因此它认为第一个位置参数是self。在实例上使用它(例如df)。 -
能否重申一下
self的意思?我不明白如何将它与 Pandas 一起使用。谢谢
标签: python python-3.x pandas dataframe data-science