2013-04-15 47 views
0

我有一个由csv构建的df,应该是一个double。如果我检查一个?它似乎是一个字符串。试图将其转换为int(a),我收到一个类型错误, 我不知道为什么。基数为10的文字无效

ValueError: invalid literal for int() with base 10: '46.074' 

    a=df["MA10"].ix[100] 
    a=int(a) 


Imported: 
df=pd.read_csv('__.csv',header=None,parse_dates=True, index_col={0},names="__".split()) 

回答

0

使用浮动

In [14]: int('46.074') 
--------------------------------------------------------------------------- 
ValueError        Traceback (most recent call last) 
<ipython-input-14-f8e7b101e6bd> in <module>() 
----> 1 int('46.074') 

ValueError: invalid literal for int() with base 10: '46.074' 

In [15]: float('46.074') 
Out[15]: 46.074 
+0

感谢。想一想,我正在使用iterrows()将它变成一个字符串?它们在数据框中被视为双打。 I.E.我使用 作为idx,df.iterrows()中的行 –

+0

显示了您的框架在读入后显示的内容,并显示df.get_dtype_counts()。你最终的目标是什么?你在干什么? – Jeff

+0

我看到浮动4,对象10.我的最终目标是在这里:http://stackoverflow.com/questions/16019275/rolling-record-of-first-time-changes-diffs-between-two-columns-in-a -df –

0

试试这个

int(float('46.074')//1) 
相关问题