我想将指定行String的编程语言类型更改为int。 现在,我正在使用numpy& scipy& pandas&等制作数据分析应用程序。 我的应用程序读取csv文件。我想指定行类型的行类型只有10~15行(其他所有行都是字符串类型)。 当我编写像
这样的代码时:expected error
发生语法错误(myFile.write(item+"\n")
)。我认为我的代码错了。但我不知道如何修复它。我该怎么办?
答案 0 :(得分:1)
是否可以,但不推荐,因为types
int
与str
混合,而且一些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
。