如何从相关列表中获取列名?
How can I get column name from correlation list?
我想获取相关关系大于0.2小于0.8的所有列名。有什么办法吗?
使用 pandas 文档中的示例,我们可以使用两个条件获取校正和过滤,获取匹配项的索引并输出到列表。
import pandas as pd
def histogram_intersection(a, b):
v = np.minimum(a, b).sum().round(decimals=1)
return v
df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],
columns=['dogs', 'cats'])
c = abs(df.corr(method=histogram_intersection)['cats'])
print(c)
print(c[(c>.2) & (c<.8)].index.tolist())
输出
dogs 0.3
cats 1.0
Name: cats, dtype: float64
['dogs']
您可以使用条件索引系列 corList
,并使用 .index
检索名称:
corList[(corList > 0.2) & (corList 0.8)].index
或者更易读的版本:
corList[corList.gt(0.2) & corList.lt(0.8)].index
我想获取相关关系大于0.2小于0.8的所有列名。有什么办法吗?
使用 pandas 文档中的示例,我们可以使用两个条件获取校正和过滤,获取匹配项的索引并输出到列表。
import pandas as pd
def histogram_intersection(a, b):
v = np.minimum(a, b).sum().round(decimals=1)
return v
df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],
columns=['dogs', 'cats'])
c = abs(df.corr(method=histogram_intersection)['cats'])
print(c)
print(c[(c>.2) & (c<.8)].index.tolist())
输出
dogs 0.3
cats 1.0
Name: cats, dtype: float64
['dogs']
您可以使用条件索引系列 corList
,并使用 .index
检索名称:
corList[(corList > 0.2) & (corList 0.8)].index
或者更易读的版本:
corList[corList.gt(0.2) & corList.lt(0.8)].index