如何从 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'
任何帮助是极大的赞赏…
原文由 bbartling 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果我理解删除列(单个)的权利,您应该使用:
对于超过 1 列:
差异在 [] 括号中。
要删除整个 df,您可以使用(如前所述):
或者