gpt4 book ai didi

python - 遍历 pandas 字符串索引将它们变成 float

转载 作者:行者123 更新时间:2023-11-28 18:32:29 25 4
gpt4 key购买 nike

我有一个 csv 文件:

 SID    done    good_ecg    good_gsr    good_resp   comment
436 0 1 1
2411 1 1 1
3858 0 1 1
4517 0 1 1 117 min diff between files
9458 1 0 1 ######### error in my script
9754 0 1 1 trigger fehler

#REF!
88.8888888889

我在 pandas 数据框中加载它是这样的:

df = pandas.read_csv(f ,delimiter="\t", dtype="str", index_col='SID')

我想遍历索引并打印每一个。但是当我尝试

for subj in df.index:
print subj

我明白了

436.0
2411.0
...

现在每个数字的末尾都有这个“.0”。我做错了什么?

我也尝试过使用 iterrows() 进行迭代,但遇到了同样的问题。

感谢您的帮助!

编辑:这是我正在使用的全部代码:

import pandas
def write():
df = pandas.read_csv("overview.csv" ,delimiter="\t", dtype="str", index_col='SID')

for subj in df.index:
print subj


write()

最佳答案

啊。 dtype 参数不适用于 index_col:

>>> !cat sindex.csv
a,b,c
123,50,R
234,51,R
>>> df = pd.read_csv("sindex.csv", dtype="str", index_col="a")
>>> df
b c
a
123 50 R
234 51 R
>>> df.index
Int64Index([123, 234], dtype='int64', name='a')

相反,在没有 index_col 的情况下读取它(None 实际上是默认设置,因此您根本不需要 index_col=None,但在这里我会显式)然后设置索引:

>>> df = pd.read_csv("sindex.csv", dtype="str", index_col=None)
>>> df = df.set_index("a")
>>> df
b c
a
123 50 R
234 51 R
>>> df.index
Index(['123', '234'], dtype='object', name='a')

(我想不出在什么情况下 df.index 会有 dtype 对象,但是当你迭代它时你会得到整数,但你实际上没有显示任何产生该问题的独立代码。)

关于python - 遍历 pandas 字符串索引将它们变成 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35608602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com