我正在尝试迭代包含一些int64和一些float的DataFrame行。iterrows()
会将我的整数转换为浮点数,这会破坏我希望在下游执行的所有操作:
>>> import pandas as pd
>>> df = pd.DataFrame([[10000000000000001, 1.5], [10000000000000002, 2.5]], columns=['id', 'prc'])
>>> [id for id in df.id]
[10000000000000001, 10000000000000002]
>>> [r['id'] for (idx,r) in df.iterrows()]
[10000000000000000.0, 10000000000000002.0]
直接迭代
df.id
没问题。但是通过 iterrows()
,我得到了不同的值。有没有一种方法可以迭代行,以便我仍然可以通过列名进行索引并获取所有正确的值?