如何防止Pandas的itertuple方法向csv文件中的记录添加额外的小数?Python

2024-06-28 15:02:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python函数,它读取csv文件并以元组的形式返回csv中的每一行。在

我使用Python的Pandas库来实现这一点。在

问题是Pandas返回元组后,它会在看起来像整数的记录上追加一个额外的小数点。e、 g1001 becomes 1001.0

csv文件示例:

key1, key2
a, '1001'
b, '2002'

代码是这样的:

^{pr2}$

有办法控制这种行为吗?!在


Tags: 文件csv函数代码示例pandas记录整数
1条回答
网友
1楼 · 发布于 2024-06-28 15:02:46

首先,您可以检查^{}如果列key2int或{}或{},然后您可以使用第二项,each_row[1],第三项按{}:

print df
  key1  key2
0    a  1001
1    b  2002

print df.dtypes
key1    object
key2     int64
dtype: object

for each_row in df.itertuples():
    print each_row
    print each_row[1]
    print each_row[2]
    print '******'

Pandas(Index=0, key1='a', key2=1001)
a
1001
******
Pandas(Index=1, key1='b', key2=2002)
b
2002
******

如果key2列的dtypesobject,并且df类似于:

^{pr2}$

相关问题 更多 >