遍历熊猫中的选定列和行

时间:2018-06-19 11:53:31

标签: python pandas dataframe rows

我刚开始使用Pandas进行学习,因此我面临以下步骤的问题。

假设我有一个带有'n'列和'm'行的数据框。

我想对索引为#2的列进行迭代,并从第5行开始省略前几行。我该怎么办?

我可以分别选择所需的行或列,但是无法一步完成两者。有人可以在这里帮我一个主意吗?

2 个答案:

答案 0 :(得分:2)

loc和iloc方法非常有用。

如果您只想第五行和第二列:

df.iloc[5,2]

如果您希望所有从第5个开始的行和所有从第2个开始的列

df.iloc[5:,2:]

别忘了像这样将您对df所做的更改:

df = df.iloc[5:,2:]

答案 1 :(得分:1)

使用pd.DataFrame.iloc,您可以使用整数索引器隔离数据帧的一部分。给定数据框df

res = df.iloc[5:, 2]

请注意,Python中的索引从0开始,因此这是第6行(或第5行)。同样,2代表第三行(或索引为2的列)。索引语法类似于Python列表或NumPy数组索引。

由于我们仅指定一个列索引,所以输出将是一个pd.Series对象,可以将其视为一列。如果指定了多个列索引,则输出将是另一个数据框。

通常,迭代并不是Pandas的最佳选择。您应该以使用矢量化操作为目标。 Pandas文档中有许多示例说明了矢量化计算。


如果列索引由字符串组成,则可以使用get_loc提取给定名称的整数位置:

res = df.iloc[5:, df.columns.get_loc('some_name')]