Python Pandas 删除数据框
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)
这将 return head/tail 和:[34944 rows x 3 columns]
pos0 = 0
pos1 = 1
pos2 = 2
colname = df.columns[pos0]
print(colname)
这将 return:Meter ID
(我想放弃这个 column/dataframe)
colname = df.columns[pos1]
print(colname)
这将 return: Date / Time
(我希望这是 pd 数据帧索引)
colname = df.columns[pos2]
print(colname)
这将 return:KW(ch: 1 set:0)
(这是我要重命名 "kW" 并进行一些争论的数据...)
如果我尝试下面的代码:
df = pd.DataFrame.drop(['Meter ID'], axis=1)
print(df)
Python 将 return 错误:TypeError: drop() missing 1 required positional argument: 'labels'
如果我尝试下面的代码:
df = pd.DataFrame.drop(columns=['Meter ID'])
print(df)
Python 将 return 错误:TypeError: drop() got an unexpected keyword argument 'columns'
非常感谢任何帮助...
阅读您的问题后,我了解到您想删除 df = pd.read_csv('C:\LoadProfiles\CSV\WillBaySchl 2013_2014 KW.csv')
pandas 数据框中可用的列 ['Meter ID']
。
我假设你的数据框中有像这样的列名 ['Meter ID']
并且你的 csv 文件中也有 header .
>>> df.dtypes
Meter ID int64
someothercolumn int64
dtype: object
为此你可以简单地使用这些代码,
del df['Meter ID']
现在如果你想删除整个数据框,你可以简单地使用这些代码,
df=None
如果我理解删除列(单个)的权利,你应该使用:
df = pd.DataFrame.drop('Meter ID', axis=1)
超过 1 列:
df = pd.DataFrame.drop(['Meter ID', 'abc'], axis=1)
区别在[]括号内。
要删除整个 df,您可以使用(如前所述):
del df
或
df = None
要从数据框中删除一列,
df = df.drop('Meter ID', axis=1)
一次删除多于一列,
df = df.drop(['Meter ID', 'SomethingElse'], axis=1)
要删除 'Meter ID' 列,您还可以使用:
df = df.drop(columns=['Meter ID'])
post pandas 版本 0.21
如何从 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)
这将 return head/tail 和:[34944 rows x 3 columns]
pos0 = 0
pos1 = 1
pos2 = 2
colname = df.columns[pos0]
print(colname)
这将 return:Meter ID
(我想放弃这个 column/dataframe)
colname = df.columns[pos1]
print(colname)
这将 return: Date / Time
(我希望这是 pd 数据帧索引)
colname = df.columns[pos2]
print(colname)
这将 return:KW(ch: 1 set:0)
(这是我要重命名 "kW" 并进行一些争论的数据...)
如果我尝试下面的代码:
df = pd.DataFrame.drop(['Meter ID'], axis=1)
print(df)
Python 将 return 错误:TypeError: drop() missing 1 required positional argument: 'labels'
如果我尝试下面的代码:
df = pd.DataFrame.drop(columns=['Meter ID'])
print(df)
Python 将 return 错误:TypeError: drop() got an unexpected keyword argument 'columns'
非常感谢任何帮助...
阅读您的问题后,我了解到您想删除 df = pd.read_csv('C:\LoadProfiles\CSV\WillBaySchl 2013_2014 KW.csv')
pandas 数据框中可用的列 ['Meter ID']
。
我假设你的数据框中有像这样的列名 ['Meter ID']
并且你的 csv 文件中也有 header .
>>> df.dtypes
Meter ID int64
someothercolumn int64
dtype: object
为此你可以简单地使用这些代码,
del df['Meter ID']
现在如果你想删除整个数据框,你可以简单地使用这些代码,
df=None
如果我理解删除列(单个)的权利,你应该使用:
df = pd.DataFrame.drop('Meter ID', axis=1)
超过 1 列:
df = pd.DataFrame.drop(['Meter ID', 'abc'], axis=1)
区别在[]括号内。
要删除整个 df,您可以使用(如前所述):
del df
或
df = None
要从数据框中删除一列,
df = df.drop('Meter ID', axis=1)
一次删除多于一列,
df = df.drop(['Meter ID', 'SomethingElse'], axis=1)
要删除 'Meter ID' 列,您还可以使用:
df = df.drop(columns=['Meter ID'])
post pandas 版本 0.21