我试图找到一种方法,使用与使用data_file.iterrows()具有相同结果的索引获取数据帧的行。我尝试了以下代码,但它们并不是一致的。有没有办法做到这一点? 谢谢!
for row in data_file.iterrows():
print(row == data_file.iloc[0])
print(row)
print(data_file.iloc[0])
break
答案 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,因为它会对性能产生负面影响。