Calculate correlation between columns produce error: unsupported operand/ cannot convert the series
Calculate correlation between columns produce error: unsupported operand/ cannot convert the series
我想计算数据框中所有列(连续)与目标变量(二进制)之间的点双序列相关。我想要列表中的结果。
我的代码:
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'>
您不能将 pandas 系列对象转换为浮动对象。
而是使用 Series 内置方法 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)
我想计算数据框中所有列(连续)与目标变量(二进制)之间的点双序列相关。我想要列表中的结果。
我的代码:
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'>
您不能将 pandas 系列对象转换为浮动对象。
而是使用 Series 内置方法 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)