2016-11-28 62 views
1

我試圖在數據幀的工作我都用.STACK()函數什麼是dataframe.stack數據集()返回

df = pd.read_csv('test.csv', usecols =['firstround','secondround','thirdround','fourthround','fifthround']) 

sortedArray = df.stack().value_counts() 

sortedArray = sortedArray.sort_index() 

我需要檢索的第一個索引列的值和第二指標來自sortedArray的列值,這意味着我需要來自排序數組的x和y值。

任何想法我可以做到這一點?

回答

1

我想你需要Series.iloc,因爲從stack輸出Series

x = sortedArray.iloc[0] 
y = sortedArray.iloc[1] 

樣品:

df = pd.DataFrame({'A':['a','a','s'], 
        'B':['a','s','a'], 
        'C':['s','d','a']}) 

print (df) 
    A B C 
0 a a s 
1 a s d 
2 s a a 
sortedArray = df.stack().value_counts() 
print (sortedArray) 
a 5 
s 3 
d 1 
dtype: int64 

sortedArray = sortedArray.sort_index() 
print (sortedArray) 
a 5 
d 1 
s 3 
dtype: int64 

x = sortedArray.iloc[0] 
y = sortedArray.iloc[1] 

print (x) 
5 
print (y) 
1 

print (sortedArray.tolist()) 
[5, 1, 3] 

print (sortedArray.index.tolist()) 
['a', 'd', 's'] 
+0

如何檢索索引的數組和一個數組排序iloc數組雖然? – Ugine

+0

你認爲'x = sortedArray.iloc [:2] .values'和'x = sortedArray.index [:2]'? – jezrael

+0

哦,我的意思是像我需要一個數組(x)[a,d,s]和另一個數組(y)[5,1,3] – Ugine