python - 保留/切片 Pandas 中的特定列

标签 python pandas

我知道这些列切片方法:

df2 = df[["col1", "col2", "col3"]]df2 = df.ix[:,0:2]

但我想知道是否有一种方法可以在同一切片中从数据帧的前端/中间/末端对列进行切片,而无需具体列出每一列。

例如,包含列的数据框 df:col1、col2、col3、col4、col5 和 col6。

有没有办法做这样的事情?

df2 = df.ix[:, [0:2, "col5"]]

我的情况是我有数百个列并且经常需要为不同的请求切分特定的列。我已经查看了文档,但没有看到类似的东西。我忽略了什么吗?

最佳答案

IIUC,我能想到的最简单的方法是这样的:

>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame(np.random.randn(5, 10))
>>> df[list(df.columns[:2]) + [7]]
          0         1         7
0  0.210139  0.533249  1.780426
1  0.382136  0.083999 -0.392809
2 -0.237868  0.493646 -1.208330
3  1.242077 -0.781558  2.369851
4  1.910740 -0.643370  0.982876

list 调用不是可选的,否则 Index 对象将尝试将自身向量添加到 7。

像 numpy 的 r_ 这样的特殊情况是可能的

df[col_[:2, "col5", 3:6]]

会工作,虽然我不知道是否值得麻烦。

关于python - 保留/切片 Pandas 中的特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15072005/

相关文章:

python - 视觉代码 pylint : unable to import webapp2 and google. appengine.api

python - 使用python在打开的cv中使用鼠标事件绘制矩形或线

python - asyncio 没有按预期停止

python-3.x - 根据时间列来回计数行

python - Pandas astype 为 int() 抛出无效文字,基数为 10 错误

python - Pandas - 获取列值计数作为数据框中的新列

python - 使用Python按行读取文件时出现OSError : [Errno 22] Invalid argument,

python - 将不同数据框中的 2 列与主键条件进行比较,无需合并

python - Pandas:有效地分割条目

python - 删除字典对象中的空格