Python 在dataframe中使用iloc获取列名
是否有方法使用iloc或其他函数将列名作为值获取 我这里有一个for循环:Python 在dataframe中使用iloc获取列名,python,dataframe,Python,Dataframe,是否有方法使用iloc或其他函数将列名作为值获取 我这里有一个for循环: for i in range(0,18): coef, pval = pearsonr(x.iloc[:,i],y) print('pval of ',x.iloc[?,i], ' and allStar: ', pval) 我想打印“列名和全明星的pval:pval” 是否有我可以替换的值?使用,以便获取每个列的列名?或者我必须使用另一个函数?您直接提出的问题的简短答案是使用 范围(0,18)内的i的
for i in range(0,18):
coef, pval = pearsonr(x.iloc[:,i],y)
print('pval of ',x.iloc[?,i], ' and allStar: ', pval)
我想打印“列名和全明星的pval:pval”
是否有我可以替换的值?使用,以便获取每个列的列名?或者我必须使用另一个函数?您直接提出的问题的简短答案是使用 范围(0,18)内的i的
:
coef,pval=pearsonr(x.iloc[:,i],y)
打印('pval of',x.columns[i],'和allStar:',pval)
一种更简洁的方法是简单地迭代列:
对于x列中的c:
coef,pval=pearsonr(x[c],y)
打印('pval of',c'和allStar:',pval)
奖金说明(主要是为了避免循环…)
- 要使用
获得每列的相关系数(而不是pvalues),只需使用:y
r=x.corrwith(pd.系列(y),轴=0)
- 要获得对应于这些皮尔逊系数的p值,您可以直接计算它们,如下所示:
dist=scipy.stats.beta(n/2-1,n/2-1,loc=-1,scale=2)#n==len(y)
p=2*dist.cdf(-abs(r))#直接问题的简短答案是使用
范围(0,18)内的i的:
coef,pval=pearsonr(x.iloc[:,i],y)
打印('pval of',x.columns[i],'和allStar:',pval)
一种更简洁的方法是简单地迭代列:
对于x列中的c:
coef,pval=pearsonr(x[c],y)
打印('pval of',c'和allStar:',pval)
奖金说明(主要是为了避免循环…)
- 要使用
y
获得每列的相关系数(而不是pvalues),只需使用:
r=x.corrwith(pd.系列(y),轴=0)
- 要获得对应于这些皮尔逊系数的p值,您可以直接计算它们,如下所示:
dist=scipy.stats.beta(n/2-1,n/2-1,loc=-1,scale=2)#n==len(y)
p=2*dist.cdf(-abs(r))#如果x
是您的数据帧,请尝试将列名转换为列索引:
col_idx = x.columns.get_loc('column_name')
现在可以将此索引传递给iloc
方法。如果x
是您的数据帧,请尝试将列名转换为列索引:
col_idx = x.columns.get_loc('column_name')
现在,该索引可以传递给iloc方法。感谢Yaniv的奖金!真的很有帮助!感谢Yaniv的奖金!真的很有帮助!