当前位置: 首页 > 知识库问答 >
问题:

选择/排除pandas中的列集[副本]

潘畅
2023-03-14

我想根据列选择从现有数据帧创建视图或数据帧。

例如,我想从dataframeDF1创建一个dataframeDF2,该dataframeDF2保存除两个列以外的所有列。我试着做了以下的操作,但没有奏效:

import numpy as np
import pandas as pd

# Create a dataframe with columns A,B,C and D
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))

# Try to create a second dataframe df2 from df with all columns except 'B' and D
my_cols = set(df.columns)
my_cols.remove('B').remove('D')

# This returns an error ("unhashable type: set")
df2 = df[my_cols]

共有1个答案

衡翰藻
2023-03-14

您可以删除不需要的列,也可以选择需要的列

# Using DataFrame.drop
df.drop(df.columns[[1, 2]], axis=1, inplace=True)

# drop by Name
df1 = df1.drop(['B', 'C'], axis=1)

# Select the ones you want
df1 = df[['a','d']]
 类似资料:
  • 问题内容: 我想基于列选择从现有数据框创建视图或数据框。 例如,我想从一个数据框创建一个数据框,该数据框包含其中的所有列(其中两个除外)。我尝试执行以下操作,但没有成功: 我究竟做错了什么?也许更笼统地说,熊猫必须采用什么机制来支持从数据帧中挑选和 排除 任意列集? 问题答案: 您可以删除不需要的列,也可以选择所需的列

  • 问题内容: 我正在使用Entity Framework Code First开发WCF RESTful Web服务。 我的桌子上有很多列。我这样做是为了获得特定用户: 在此表上,有一个密码列,我不想返回此列。 如何从该选择中排除密码列? 问题答案: 在select语句中指定所需的每一列:

  • 在Pandas的数据框中,一些列是数字的,像浮动;一些是非数字的,像对象。我们希望删除那些数值列为NaN的行,但不删除那些非数值列为NaN的行。 例如,对于具有四列的df:a、B、C和D。a和C的数据类型为Object,B和D的数据类型为Float。 我们将只删除其中一些数字列(浮点数)为NaN的行,而不应该删除其中一些非数字列(对象)为NaN的行。 最终结果如下: 我的步骤是: 检查哪些列的数据

  • 问题内容: 我想知道Pandas DataFrames中是否有一种优雅而简捷的方式来按数据类型(dtype)选择列。即从DataFrame中仅选择int64列。 详细来说, 先谢谢您的帮助 问题答案: df.loc[:, df.dtypes == np.float64]

  • 问题内容: 我有以下pd.DataFrame: 它具有带有和层次结构级别的MultiIndex列。该标签从0到n,并为每个标签,有两个和列。 我想子选择此DataFrame的所有(或)列。 问题答案: 有一种方法可以与布尔索引一起使用,以获得预期的结果。

  • 我一直在寻找通过python文档和论坛来选择列的方法,但是关于列索引的每个示例都过于简单。 假设我有一个10x10的数据帧 到目前为止,给出的所有文档只是一个简单的索引示例,如