计算列之间的相关性产生错误:不支持操作数/无法转换序列

2024-10-03 02:36:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想计算数据帧中所有列(连续)和目标变量(二进制)之间的点双列相关性。我想要一个列表中的结果

我的代码:

corr_list= {}
for column in df:
    corr_list= stats.pointbiserialr(df[column], df['target'])
    print (corr_list)

这就是错误:

TypeError: unsupported operand type(s) for +: 'float' and 'str'

我试图用float/int修复此问题,但它不起作用:

corr_list= {}
for column in df
    x= float(df[column])
    y= float(df['target'])
    corr_list= stats.pointbiserialr(x, y)
    print (corr_list)

这就是错误:

TypeError: cannot convert the series to <class 'float'>

Tags: 数据intarget目标dfforstats错误
1条回答
网友
1楼 · 发布于 2024-10-03 02:36:30

不能将系列对象转换为浮动对象

相反,使用系列内置方法astype()

corr_list = {}
y = df['target'].astype(float)
for column in df
    x = df[column].astype(float)
    corr = stats.pointbiserialr(x, y)
    corr_list[column] = corr 
print(corr_list)

相关问题 更多 >