首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中将float64类型DataFrame转换为浮点型

在Python中将float64类型DataFrame转换为浮点型
EN

Stack Overflow用户
提问于 2018-10-20 15:52:14
回答 1查看 5.5K关注 0票数 1

我创建了一个多索引的DataFrame,其中我使用了groupby和mean。

检查任何特定值的数据类型

(使用ChkVlu = df.loc['Index1'].loc['index2'].loc['requiredcolumn'])

我将数据类型设置为numpy.float64。我需要将数据类型转换为本地python float。

如果我使用ChkVlu = float(ChkVlu),那么一次只有一个值从float64转换为float,但是在对整个DataFrame使用df = df.astype(float)时,我仍然将数据类型转换为numpy.float64。

我使用了df = df.astype(float, copy=False)df = df.astype(float, copy=True),但仍然得到了float64而不是float。

请帮助我将float64类型DataFrame转换为float。

Edit1 :在这里发布代码,其中AnnualData.csv将索引1和index2作为前2列,年-月组合作为下一组列,格式为2001-01、2001-02、2001-03 ......2016-09、2016-10、2016-11每行都有数字数据。我以季度为单位转换数据,列名为q1、q2等,每个季度的平均值为1。

代码语言:javascript
复制
 df = pd.read_csv(‘AnnualData.csv')
 df.set_index(['index1, 'index2'],inplace = True)
 def quarters(col):
  if col.endswith(("01", "02", "03")):
   final_col = col[:4] + "q1"
  elif col.endswith(("04", "05", "06")):
   final_col = col[:4] + "q2"
  elif col.endswith(("07", "08", "09")):
   final_col = col[:4] + "q3"
  else:
   final_col = col[:4] + "q4"
  return final_col  
df = df.groupby(quarters, axis = 1).mean()
ChkVlu = df.loc['index1'].loc['index2'].loc['requiredcolumn']
type(ChkVlu)
EN

回答 1

Stack Overflow用户

发布于 2018-10-20 16:47:45

您可以使用to_numeric,它将为您提供一个float32

或np.float32(x)

然后x.item()将为您提供python float

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52903578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档