python - 如何对 Pandas 对象执行切片(使用 ix、loc、iloc)操作(排除某些指定索引)

标签 python pandas dataframe

许多ixlociloc操作您指定要选择的索引。我想做相反的事情。我想排除几列并选择其余的。我该怎么做呢。即指定需要排除而不是包含的索引。

例如一些伪代码

a.iloc[~1:3, :]
a.loc[~['A', 'B'], :]

我正在寻找性能内存使用简洁,如上面的伪代码所示。

注意:DataFrame 很大,一个轴上有大量数据,而其他轴上的数据相对较少。

最佳答案

您可以删除或选择您想要的:

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

# drop by Name
df1 = df1.drop(['D', 'E'], axis=1)

## Select the ones you want
df1 = df[['a','d']]

还有一个新的 difference你可以调用index.所以除了 col D 和 col E 之外的所有内容:

 df2 = df[df.columns.difference(['D', 'E'])]

希望这有帮助!

关于python - 如何对 Pandas 对象执行切片(使用 ix、loc、iloc)操作(排除某些指定索引),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43405861/

相关文章:

python - Keras 可以像 tensorflow 数据集那样预取数据吗?

Python Pandas Dataframe 将 NaN 替换为列表中的值

python - 使用 python pandas 处理包含嵌套 json 的列

python - 从 Python 设置 qml 属性?

python - python 中的自定义格式规范

python - 尝试在 Python 上编写注入(inject)安全的 PostgreSQL 查询时出现 "Psycopg2.error column doesn' t exist"错误

python - Pandas 日期在月初被错误地绘制

python - 按日期对行进行分组并覆盖 NaN 值

python - 当特定列在pandas中具有空值时选择数据

pandas - 如何将包含值列表的数据框列转换为具有出现次数的单独列?