繁体   English   中英

Python Pandas Drop Dataframe

[英]Python Pandas Drop Dataframe

如何从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'

任何帮助是极大的赞赏...

如果我理解删除列(单个)的权利,您应该使用:

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

超过1列:

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

差异在[]括号中。

要删除整个df,您可以使用(如前所述):

del df

要么

df = None

在阅读了您的问题之后,我理解您想要删除df = pd.read_csv('C:\\LoadProfiles\\CSV\\WillBaySchl 2013_2014 KW.csv') pandas数据帧中的列['Meter ID'] 我假设你的数据框中有这样的列名['Meter ID'] ,也可以作为csv文件中的标题。

>>> df.dtypes
Meter ID           int64
someothercolumn    int64
dtype: object

为此你可以简单地使用这些代码,

del df['Meter ID']

现在,如果你想删除整个数据帧,你可以简单地使用这些代码,

df=None

要从数据框中删除列,

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

一次删除多个列,

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

更多pandas.DataFrame.drop

要丢失“Meter ID”列,您还可以使用:

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

邮政熊猫版0.21

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM