Python Pandas - 主要数据帧,想要删除较小数据帧中的所有列

Posted

技术标签:

【中文标题】Python Pandas - 主要数据帧,想要删除较小数据帧中的所有列【英文标题】:Python Pandas - Main DataFrame, want to drop all columns in smaller DataFrame 【发布时间】:2015-05-09 23:26:27 【问题描述】:

我有一个大约 300 列的 DataFrame('main')。我创建了一个较小的 DataFrame('public')并一直在努力。

我现在想从较大的 DataFrame('main')中删除 'public' 中包含的列。

我已尝试以下说明:

http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.drop.html

Python Pandas - Deleting multiple series from a data frame in one command

没有任何成功,以及其他各种不成功的语句。

构成“public”的列不是连续的——即它们取自较大的 DataFrame“main”中的各个点。所有列都有相同的索引。 [不确定这是否重要,但 'public' 是使用 'join' 函数创建的]。

是的,我很懒——我不想输入每一列的名称!我希望有一种方法可以在允许删除这些列的语句中使用 DataFrame 'public'。如果有人有任何建议和/或指导,我将不胜感激。

(有 Python 2.7 并且正在使用 Pandas、numpy、math、pylab 等)

提前致谢。

【问题讨论】:

【参考方案1】:

忽略我的问题 - 墨菲定律盛行,我刚刚解决了它。

我使用的是下面提到的 *** 问题中的语句:

df.drop(df.columns[1:], axis=1) 

这不起作用。我改用了

df = df.drop(df2, axis=1)

这有效(df = main,df2 = public)。只要你不要想太多,真的很简单。

【讨论】:

以上是关于Python Pandas - 主要数据帧,想要删除较小数据帧中的所有列的主要内容,如果未能解决你的问题,请参考以下文章

Python pandas:合并两个没有键的表(将 2 个数据帧与广播所有元素相乘;NxN 数据帧)

python:pandas - 如何将前两行 pandas 数据帧组合到数据帧头?

PYTHON Pandas - 根据其他数据帧中的值对数据帧使用 Pandas 样式

在 pandas 多索引数据帧上绘制两个级别的 x_ticklabels [重复]

使用 Python3 将 Bytes 对象转换为 Pandas 数据帧会产生一个空数据帧。为啥?

基于另一个数据帧 Python 和 Pandas 从数据帧中采样