accounts = pd.read_csv('C:/*******/New_export.txt', sep=",", dtype={'number': object})
accounts.columns = ["Number", "F"]
for i, j in accounts["Number"].iterrows(): #i represents the row(index number), j is the number
if (str(j) == "27*******5"):
print(accounts["F"][i], accounts["Number"][i])
出现以下错误:
AttributeError: 'Series' object has no attribute 'iterrows'
我不太明白这个错误,因为“帐户”是一个Pandas Dataframe 。
2条答案
按热度按时间2uluyalo1#
accounts["Number"]
是 Series 对象,而不是DataFrame。请迭代accounts.iterrows()
并从每行中获取Number
列,或者使用Series.iteritems()
method。迭代 Dataframe :
或超过
Series.iteritems()
:xt0899hw2#
要迭代 Dataframe 列(如
accounts['Number']
)或panda Series,请使用items()
,它会创建一个zip
对象。也就是说,很少需要迭代列,因为有更快的方法来过滤列。例如,对于OP中的情况,使用布尔掩码而不是if子句进行过滤会产生相同的结果: