首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想将DataFrame的值从str改为int

我想将DataFrame的值从str改为int
EN

Stack Overflow用户
提问于 2018-04-19 06:21:47
回答 1查看 369关注 0票数 0

我想将DataFrame的值从str更改为int。我写了密码,

代码语言:javascript
复制
import scipy as sp
import scipy.stats
import pandas as pd
import numpy as np
x = sp.stats.chi2_contingency(df)
print(x)

df变量有类似于DataFrame表的

代码语言:javascript
复制
A B C D
0 23 45 18 49

当我运行这些代码时,回溯显示

代码语言:javascript
复制
   x = sp.stats.chi2_contingency(df)
  File "/Users/xxx/anaconda3/envs/py36/lib/python3.6/site-packages/scipy/stats/contingency.py", line 242, in chi2_contingency
    if np.any(observed < 0):
TypeError: '<' not supported between instances of 'str' and 'int'

所以我写了密码

代码语言:javascript
复制
x = sp.stats.chi2_contingency(int(df))

TypeError: int()参数必须是字符串、类似字节的对象或数字,而不是'DataFrame‘错误happens.What在我的代码中是错误的?我应该如何修复这个错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-19 06:23:09

似乎值是字符串,所以将它们转换为数字:

代码语言:javascript
复制
df = pd.DataFrame({'A': {0: '23'}, 'B': {0: '45'}, 'C': {0: '18'}, 'D': {0: '49'}})
print (df)
    A   B   C   D
0  23  45  18  49

x = sp.stats.chi2_contingency(df.astype(int))
print(x)
(0.0, 1.0, 0, array([[ 23.,  45.,  18.,  49.]]))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49914043

复制
相关文章

相似问题

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