मैं पांडा सीख रहा हूँ। मुझे निम्नलिखित में मदद चाहिए। मैं सहसंबंध मैट्रिक्स से उच्चतम सहसंबद्ध विशेषताओं का पता लगाने की कोशिश कर रहा हूं।

# Iris Dataset
features = ['sepal_length','sepal_width','petal_length','petal_width','class']
data = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data",\
                           header = None,\
                           names = features)
correlation = data.corr()
c = correlation.where(np.triu(np.ones(correlation.shape),k=1).astype(np.bool)).stack().sort_values(ascending = False)
highest = c[c>0.5]
print(highest)
print(highest.index)

उपरोक्त स्निपेट का आउटपुट है:

petal_length  petal_width     0.962757
sepal_length  petal_length    0.871754
              petal_width     0.817954
dtype: float64
MultiIndex(levels=[['sepal_length', 'sepal_width', 'petal_length', 'petal_width'], ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']],
           labels=[[2, 0, 0], [3, 2, 3]])

क्या नीचे निर्दिष्ट प्रारूप के साथ 'उच्चतम' श्रृंखला के आउटपुट को सूची में बदलने की कोई संभावना है?

list = [['petal_length','petal_width',0.962757],['sepal_length','petal_length',0.871754]['sepal_length','petal_width',0.817954]]

आम आदमी के शब्दों में, मुझे श्रृंखला से एक सूची में इंडेक्स कॉलम (दोनों कॉलम) चाहिए।

मैंने यह और इसके काम करने की कोशिश की। लेकिन मुझे ऊपर की तरह सूची चाहिए:

length = highest.shape[0]
list = []
for i in range(length):
    list.append(highest.index[i])
print('list =',list)

आउटपुट:

list = [('petal_length', 'petal_width'), ('sepal_length', 'petal_length'), ('sepal_length', 'petal_width')]

अग्रिम में धन्यवाद।

2
JSVJ 10 जुलाई 2019, 19:20

1 उत्तर

सबसे बढ़िया उत्तर

हाँ, उपयोग करें:

highest.reset_index().values.tolist()

आउटपुट:

[['petal_length', 'petal_width', 0.9627570970509667],
 ['sepal_length', 'petal_length', 0.8717541573048719],
 ['sepal_length', 'petal_width', 0.8179536333691635]]
2
Scott Boston 10 जुलाई 2019, 19:25