如何从DataFrame图中排除几列?

che*_*vik 29 python pandas

我有一个包含大约25列的DataFrame,其中有几列包含不适合绘图的数据.DataFrame.hist()会抛出错误.如何指定应从绘图中排除这些列?

pyl*_*ang 14

注意,对@Chang She的回复进行了修改,截至pandas 0.16,-运营商计划弃用.difference()鼓励采用这种方法.

exclude = ['bad col1', 'bad col2']
df.loc[:, df.columns.difference(exclude)].hist() 
Run Code Online (Sandbox Code Playgroud)

弃用更新:

df - df['A']
Run Code Online (Sandbox Code Playgroud)

现已弃用,将在以后的版本中删除.复制此行为的首选方法是

df.sub(df['A'], axis=0)
Run Code Online (Sandbox Code Playgroud)


Cha*_*She 8

我们可以使这更容易(我创建了一个github问题),但是现在你可以选择你想要绘制的列:

df.ix[:, df.columns - to_exclude].hist()
Run Code Online (Sandbox Code Playgroud)

  • 什么是"to_excl"对象? (9认同)

bri*_*ray 7

我想你可以:

df.drop(['bad col1', 'bad col2', 'bad col3', ...], axis=1).hist()
Run Code Online (Sandbox Code Playgroud)


zac*_*ach 6

我通常会做以下事情:

columns = [column for column in df.columns if df[column].dtype == 'float64']
df = df[columns]
Run Code Online (Sandbox Code Playgroud)