【发布时间】:2020-07-04 18:49:49
【问题描述】:
我正在尝试从 pandas DataFrame 中选择多个列,但这样做时遇到了麻烦。假设我有以下 DataFrame:
import pandas as pd
import numpy as np
cols = ['test','one','two','three','four','five','six','seven','eight','nine','ten']
df = pd.DataFrame(np.random.rand(10,11).round(2),columns=cols)
我想选择列test、two、four、five、six、seven、eight
我知道如果我想选择单个列,
df[['test','two']]
如果我想选择连续的列,
df.loc[:,'four':'eight']
工作得很好,但我如何简洁地将两者结合起来?
我意识到对于这个具体的例子,写作
df[['test', 'two', 'four', 'five', 'six', 'seven', 'eight']]
也可以,但我想知道是否有办法利用这里大多数列是连续的这一事实来节省一些时间来写它们。
【问题讨论】:
-
你可以使用
iloc -
df.iloc[:,start:end:step]是列表切片的常规语法。 -
@Datanovice 那么如何使用它来获得我想要的输出呢?看来
step会越过我想保留的列。df0.iloc[:,0:9:2]跳过我想保留的five和seven。 -
你的序列逻辑是什么?对我来说看起来很随意。
标签: python python-3.x pandas