熊猫 iloc() 从标题行中识别特定列?



我正在尝试创建一个不包括初始列的列标题列表。我正在尝试为此使用熊猫的 iloc 功能,我觉得我已经完成了一半。

column_dates = list(pronto.iloc[[0][2:]])
print(column_dates)

现在,这正在回归

['Unwanted Variable 1', 'Unwanted Variable 2', 'January 2018', 'February 2018', 'March 2018', 'April 2018', 'May 2018', 'June 2018', 'July 2018', 'August 2018', 'September 2018', 'October 2018', 'November 2018', 'December 2018', 'January 2019', 'February 2019', 'March 2019', 'April 2019', 'May 2019', 'June 2019', 'July 2019', 'August 2019', 'September 2019', 'October 2019', 'November 2019']

如何在 iloc 中指定我想要第一行(列标题(,然后是第 2 列(实际上是第 3 列(?我需要列是开放式的,因为数据框的宽度可能会根据月数而变化,

本质上我想要这个回来,

['January 2018', 'February 2018', 'March 2018', 'April 2018', 'May 2018', 'June 2018', 'July 2018', 'August 2018', 'September 2018', 'October 2018', 'November 2018', 'December 2018', 'January 2019', 'February 2019', 'March 2019', 'April 2019', 'May 2019', 'June 2019', 'July 2019', 'August 2019', 'September 2019', 'October 2019', 'November 2019']

如果列的名称已被正确解析,那么您需要

pronto.columns[2:]

如果列的名称在数据帧中显示为第一行(它们不应该(,这应该有效

pronto.iloc[0, 2:]

column_dates 的输出是向量而不是DataFrame。您可以简单地子集而不使用iloc例如

df = [1,2,3,4,5,6,7,8,9,10]

假设你想选择列表中的第三个元素,然后使用,(记住 Python 索引从 0 开始(

df[2:] 
[3, 4, 5, 6, 7]

希望这有帮助

最新更新