按列名称拼接熊猫数据框

时间:2019-12-12 18:18:36

标签: python-3.x pandas dataframe

我正在尝试按标题名称在特定列之后从Pandas数据帧中拆分副本。

到目前为止,我已经能够根据一组已知的列来操纵列标题或索引,如下所示。但是,列数将发生变化,我仍然想提取之后发生的每一列。

在下面的示例中,说我想抓住'Tail'之后的所有列,即使'Body'列转到 X 列。因此,下面的示例具有 X 个“正文”列数:

df = pd.DataFrame({'Intro1': ['blah'],
            'Intro2': ['blah'],'Intro3': ['blah'],'Body1': ['blah'],'Body2': ['blah'],'Body3': ['blah'],'Body4': ['blah'], ... 'BodyX': ['blah'],'Tail': ['blah'],'OtherTail': ['blah'],'StillAnotherTail': ['blah'],})

应按以下方式生成数据框的副本:

dftail = pd.DataFrame({'Tail': ['blah'],'OtherTail': ['blah'],'StillAnotherTail': ['blah'],})

理想情况下,我想找到一种结合以下两种技术的方法,以便该列从“ Tail”开始并到达数据框的末尾:

dftail = [col for col in df if col.startswith('Tail')]

dftail = df.iloc[:, 164:] # column number (164) will change based on 'Tail' index number

1 个答案:

答案 0 :(得分:3)

如何?

df_tail = df.iloc[:, list(df.columns).index("Tail"):]

df_tail然后打印出来:

    Tail    OtherTail   StillAnotherTail
0   blah    blah        blah