我有一个包含大约25列的DataFrame,其中有几列包含不适合绘图的数据。 DataFrame.hist()会抛出错误。如何指定应从绘图中排除这些列?
答案 0 :(得分:14)
注意,对@Chang She的响应进行了修改,截至pandas 0.16,-
运算符计划弃用。鼓励使用difference()
方法。
exclude = ['bad col1', 'bad col2']
df.loc[:, df.columns.difference(exclude)].hist()
deprecation上的更新:
df - df['A']
现已弃用,将在以后的版本中删除。该 复制此行为的首选方法是
df.sub(df['A'], axis=0)
答案 1 :(得分:8)
我们可以让这更容易(我创建了一个github issue),但是现在您可以选择要绘制的列:
df.ix[:, df.columns - to_exclude].hist()
答案 2 :(得分:7)
我想你可以:
df.drop(['bad col1', 'bad col2', 'bad col3', ...], axis=1).hist()
答案 3 :(得分:6)
我通常会做以下事情:
columns = [column for column in df.columns if df[column].dtype == 'float64']
df = df[columns]
答案 4 :(得分:5)
答案 5 :(得分:0)
如何
df_new = df[df.columns -[cols_to_exclude]]
df_new.plot()