我想将指定行String的编程语言类型更改为int

时间:2017-03-02 12:38:38

标签: python pandas numpy scipy

我想将指定行String的编程语言类型更改为int。 现在,我正在使用numpy& scipy& pandas&等制作数据分析应用程序。 我的应用程序读取csv文件。我想指定行类型的行类型只有10~15行(其他所有行都是字符串类型)。 当我编写像

这样的代码时
:expected error

发生语法错误(myFile.write(item+"\n") )。我认为我的代码错了。但我不知道如何修复它。我该怎么办?

3 个答案:

答案 0 :(得分:1)

是否可以,但不推荐,因为types intstr混合,而且一些pandas功能失败。

loc选择行,如果需要按索引值选择或按iloc按位置选择,然后转换为int

np.random.seed(100)
df = pd.DataFrame(np.random.randint(10, size=(10,5)), columns=list('ABCDE')).astype(str)
print (df)
   A  B  C  D  E
0  8  8  3  7  7
1  0  4  2  5  2
2  2  2  1  0  8
3  4  0  9  6  2
4  4  1  5  3  4
5  4  3  7  1  1
6  7  7  0  2  9
7  9  3  2  5  8
8  1  0  7  6  2
9  0  8  2  5  1

df.loc[3:8] = df.loc[3:8].astype(int)

print (type(df.loc[0, 'A']))
<class 'str'>

print (type(df.loc[4, 'A']))
<class 'int'>

答案 1 :(得分:0)

converters={9:14,lambda x:x.decode('int')})没有有效的python语法。

但是,您无法更改每行的数据类型。只有像pandas中的每列,每列都有一个数据类型,而不是每个单元格或行。

答案 2 :(得分:0)

请查看converters,它既不是dict也不是set