DataFrame使用索引获取行

时间:2018-02-16 22:41:17

标签: python pandas dataframe indexing

我试图找到一种方法,使用与使用data_file.iterrows()具有相同结果的索引获取数据帧的行。我尝试了以下代码,但它们并不是一致的。有没有办法做到这一点? 谢谢!

for row in data_file.iterrows():
    print(row == data_file.iloc[0])
    print(row)
    print(data_file.iloc[0])
    break

2 个答案:

答案 0 :(得分:2)

相应的系列值在index1上,这有帮助吗?

文档: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.iterrows.html

  

DataFrame.iterrows()[源]

     

将DataFrame行迭代为(index, Series )对。

print(row[1] == data_file.iloc[0])

另一种解决方案:

for ind, row in data_file.iterrows():

答案 1 :(得分:2)

因为iterrows返回一个元组,该元组由行的索引和行本身组成,并且iloc该行。

print(type(row))
<class 'tuple'>
print(type(pl0.iloc[0]))  
<class 'pandas.core.series.Series'>
print(type(row[1]))
<class 'pandas.core.series.Series'>

您可以使用python的功能来解包元组:

for index, row in data_file.iterrows():

为什么你不直接使用iloc?建议不要使用iterrows,因为它会对性能产生负面影响。